| // Protocol Buffers - Google's data interchange format |
| // Copyright 2008 Google Inc. All rights reserved. |
| // |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file or at |
| // https://developers.google.com/open-source/licenses/bsd |
| |
| #import <Foundation/Foundation.h> |
| |
| @class GPBUnknownField; |
| |
| NS_ASSUME_NONNULL_BEGIN |
| |
| /** |
| * A collection of unknown fields. Fields parsed from the binary representation |
| * of a message that are unknown end up in an instance of this set. |
| **/ |
| __attribute__((objc_subclassing_restricted)) |
| @interface GPBUnknownFieldSet : NSObject<NSCopying> |
| |
| /** |
| * Tests to see if the given field number has a value. |
| * |
| * @param number The field number to check. |
| * |
| * @return YES if there is an unknown field for the given field number. |
| **/ |
| - (BOOL)hasField:(int32_t)number; |
| |
| /** |
| * Fetches the GPBUnknownField for the given field number. |
| * |
| * @param number The field number to look up. |
| * |
| * @return The GPBUnknownField or nil if none found. |
| **/ |
| - (nullable GPBUnknownField *)getField:(int32_t)number; |
| |
| /** |
| * @return The number of fields in this set. |
| **/ |
| - (NSUInteger)countOfFields; |
| |
| /** |
| * Adds the given field to the set. |
| * |
| * @param field The field to add to the set. |
| **/ |
| - (void)addField:(GPBUnknownField *)field; |
| |
| /** |
| * @return An array of the GPBUnknownFields sorted by the field numbers. |
| **/ |
| - (NSArray<GPBUnknownField *> *)sortedFields; |
| |
| @end |
| |
| NS_ASSUME_NONNULL_END |