protobuf/objectivec/GPBDictionary.h
Go to the documentation of this file.
1 // Protocol Buffers - Google's data interchange format
2 // Copyright 2008 Google Inc. All rights reserved.
3 // https://developers.google.com/protocol-buffers/
4 //
5 // Redistribution and use in source and binary forms, with or without
6 // modification, are permitted provided that the following conditions are
7 // met:
8 //
9 // * Redistributions of source code must retain the above copyright
10 // notice, this list of conditions and the following disclaimer.
11 // * Redistributions in binary form must reproduce the above
12 // copyright notice, this list of conditions and the following disclaimer
13 // in the documentation and/or other materials provided with the
14 // distribution.
15 // * Neither the name of Google Inc. nor the names of its
16 // contributors may be used to endorse or promote products derived from
17 // this software without specific prior written permission.
18 //
19 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 
31 #import <Foundation/Foundation.h>
32 
33 #import "GPBRuntimeTypes.h"
34 
35 // Note on naming: for the classes holding numeric values, a more natural
36 // naming of the method might be things like "-valueForKey:",
37 // "-setValue:forKey:"; etc. But those selectors are also defined by Key Value
38 // Coding (KVC) as categories on NSObject. So "overloading" the selectors with
39 // other meanings can cause warnings (based on compiler settings), but more
40 // importantly, some of those selector get called as KVC breaks up keypaths.
41 // So if those selectors are used, using KVC will compile cleanly, but could
42 // crash as it invokes those selectors with the wrong types of arguments.
43 
44 NS_ASSUME_NONNULL_BEGIN
45 
46 //%PDDM-EXPAND DECLARE_DICTIONARIES()
47 // This block of code is generated, do not edit it directly.
48 // clang-format off
49 
50 #pragma mark - UInt32 -> UInt32
51 
58 @interface GPBUInt32UInt32Dictionary : NSObject <NSCopying>
59 
61 @property(nonatomic, readonly) NSUInteger count;
62 
72 - (instancetype)initWithUInt32s:(const uint32_t [__nullable])values
73  forKeys:(const uint32_t [__nullable])keys
74  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
75 
83 - (instancetype)initWithDictionary:(GPBUInt32UInt32Dictionary *)dictionary;
84 
92 - (instancetype)initWithCapacity:(NSUInteger)numItems;
93 
102 - (BOOL)getUInt32:(nullable uint32_t *)value forKey:(uint32_t)key;
103 
112 - (void)enumerateKeysAndUInt32sUsingBlock:
113  (void (NS_NOESCAPE ^)(uint32_t key, uint32_t value, BOOL *stop))block;
114 
121 - (void)addEntriesFromDictionary:(GPBUInt32UInt32Dictionary *)otherDictionary;
122 
129 - (void)setUInt32:(uint32_t)value forKey:(uint32_t)key;
130 
136 - (void)removeUInt32ForKey:(uint32_t)aKey;
137 
141 - (void)removeAll;
142 
143 @end
144 
145 #pragma mark - UInt32 -> Int32
146 
153 @interface GPBUInt32Int32Dictionary : NSObject <NSCopying>
154 
156 @property(nonatomic, readonly) NSUInteger count;
157 
167 - (instancetype)initWithInt32s:(const int32_t [__nullable])values
168  forKeys:(const uint32_t [__nullable])keys
169  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
170 
178 - (instancetype)initWithDictionary:(GPBUInt32Int32Dictionary *)dictionary;
179 
187 - (instancetype)initWithCapacity:(NSUInteger)numItems;
188 
197 - (BOOL)getInt32:(nullable int32_t *)value forKey:(uint32_t)key;
198 
207 - (void)enumerateKeysAndInt32sUsingBlock:
208  (void (NS_NOESCAPE ^)(uint32_t key, int32_t value, BOOL *stop))block;
209 
216 - (void)addEntriesFromDictionary:(GPBUInt32Int32Dictionary *)otherDictionary;
217 
224 - (void)setInt32:(int32_t)value forKey:(uint32_t)key;
225 
231 - (void)removeInt32ForKey:(uint32_t)aKey;
232 
236 - (void)removeAll;
237 
238 @end
239 
240 #pragma mark - UInt32 -> UInt64
241 
248 @interface GPBUInt32UInt64Dictionary : NSObject <NSCopying>
249 
251 @property(nonatomic, readonly) NSUInteger count;
252 
262 - (instancetype)initWithUInt64s:(const uint64_t [__nullable])values
263  forKeys:(const uint32_t [__nullable])keys
264  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
265 
273 - (instancetype)initWithDictionary:(GPBUInt32UInt64Dictionary *)dictionary;
274 
282 - (instancetype)initWithCapacity:(NSUInteger)numItems;
283 
292 - (BOOL)getUInt64:(nullable uint64_t *)value forKey:(uint32_t)key;
293 
302 - (void)enumerateKeysAndUInt64sUsingBlock:
303  (void (NS_NOESCAPE ^)(uint32_t key, uint64_t value, BOOL *stop))block;
304 
311 - (void)addEntriesFromDictionary:(GPBUInt32UInt64Dictionary *)otherDictionary;
312 
319 - (void)setUInt64:(uint64_t)value forKey:(uint32_t)key;
320 
326 - (void)removeUInt64ForKey:(uint32_t)aKey;
327 
331 - (void)removeAll;
332 
333 @end
334 
335 #pragma mark - UInt32 -> Int64
336 
343 @interface GPBUInt32Int64Dictionary : NSObject <NSCopying>
344 
346 @property(nonatomic, readonly) NSUInteger count;
347 
357 - (instancetype)initWithInt64s:(const int64_t [__nullable])values
358  forKeys:(const uint32_t [__nullable])keys
359  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
360 
368 - (instancetype)initWithDictionary:(GPBUInt32Int64Dictionary *)dictionary;
369 
377 - (instancetype)initWithCapacity:(NSUInteger)numItems;
378 
387 - (BOOL)getInt64:(nullable int64_t *)value forKey:(uint32_t)key;
388 
397 - (void)enumerateKeysAndInt64sUsingBlock:
398  (void (NS_NOESCAPE ^)(uint32_t key, int64_t value, BOOL *stop))block;
399 
406 - (void)addEntriesFromDictionary:(GPBUInt32Int64Dictionary *)otherDictionary;
407 
414 - (void)setInt64:(int64_t)value forKey:(uint32_t)key;
415 
421 - (void)removeInt64ForKey:(uint32_t)aKey;
422 
426 - (void)removeAll;
427 
428 @end
429 
430 #pragma mark - UInt32 -> Bool
431 
438 @interface GPBUInt32BoolDictionary : NSObject <NSCopying>
439 
441 @property(nonatomic, readonly) NSUInteger count;
442 
452 - (instancetype)initWithBools:(const BOOL [__nullable])values
453  forKeys:(const uint32_t [__nullable])keys
454  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
455 
463 - (instancetype)initWithDictionary:(GPBUInt32BoolDictionary *)dictionary;
464 
472 - (instancetype)initWithCapacity:(NSUInteger)numItems;
473 
482 - (BOOL)getBool:(nullable BOOL *)value forKey:(uint32_t)key;
483 
492 - (void)enumerateKeysAndBoolsUsingBlock:
493  (void (NS_NOESCAPE ^)(uint32_t key, BOOL value, BOOL *stop))block;
494 
501 - (void)addEntriesFromDictionary:(GPBUInt32BoolDictionary *)otherDictionary;
502 
509 - (void)setBool:(BOOL)value forKey:(uint32_t)key;
510 
516 - (void)removeBoolForKey:(uint32_t)aKey;
517 
521 - (void)removeAll;
522 
523 @end
524 
525 #pragma mark - UInt32 -> Float
526 
533 @interface GPBUInt32FloatDictionary : NSObject <NSCopying>
534 
536 @property(nonatomic, readonly) NSUInteger count;
537 
547 - (instancetype)initWithFloats:(const float [__nullable])values
548  forKeys:(const uint32_t [__nullable])keys
549  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
550 
558 - (instancetype)initWithDictionary:(GPBUInt32FloatDictionary *)dictionary;
559 
567 - (instancetype)initWithCapacity:(NSUInteger)numItems;
568 
577 - (BOOL)getFloat:(nullable float *)value forKey:(uint32_t)key;
578 
587 - (void)enumerateKeysAndFloatsUsingBlock:
588  (void (NS_NOESCAPE ^)(uint32_t key, float value, BOOL *stop))block;
589 
596 - (void)addEntriesFromDictionary:(GPBUInt32FloatDictionary *)otherDictionary;
597 
604 - (void)setFloat:(float)value forKey:(uint32_t)key;
605 
611 - (void)removeFloatForKey:(uint32_t)aKey;
612 
616 - (void)removeAll;
617 
618 @end
619 
620 #pragma mark - UInt32 -> Double
621 
628 @interface GPBUInt32DoubleDictionary : NSObject <NSCopying>
629 
631 @property(nonatomic, readonly) NSUInteger count;
632 
642 - (instancetype)initWithDoubles:(const double [__nullable])values
643  forKeys:(const uint32_t [__nullable])keys
644  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
645 
653 - (instancetype)initWithDictionary:(GPBUInt32DoubleDictionary *)dictionary;
654 
662 - (instancetype)initWithCapacity:(NSUInteger)numItems;
663 
672 - (BOOL)getDouble:(nullable double *)value forKey:(uint32_t)key;
673 
682 - (void)enumerateKeysAndDoublesUsingBlock:
683  (void (NS_NOESCAPE ^)(uint32_t key, double value, BOOL *stop))block;
684 
691 - (void)addEntriesFromDictionary:(GPBUInt32DoubleDictionary *)otherDictionary;
692 
699 - (void)setDouble:(double)value forKey:(uint32_t)key;
700 
706 - (void)removeDoubleForKey:(uint32_t)aKey;
707 
711 - (void)removeAll;
712 
713 @end
714 
715 #pragma mark - UInt32 -> Enum
716 
723 @interface GPBUInt32EnumDictionary : NSObject <NSCopying>
724 
726 @property(nonatomic, readonly) NSUInteger count;
728 @property(nonatomic, readonly) GPBEnumValidationFunc validationFunc;
729 
737 - (instancetype)initWithValidationFunction:(nullable GPBEnumValidationFunc)func;
738 
749 - (instancetype)initWithValidationFunction:(nullable GPBEnumValidationFunc)func
750  rawValues:(const int32_t [__nullable])values
751  forKeys:(const uint32_t [__nullable])keys
752  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
753 
763 - (instancetype)initWithDictionary:(GPBUInt32EnumDictionary *)dictionary;
764 
773 - (instancetype)initWithValidationFunction:(nullable GPBEnumValidationFunc)func
774  capacity:(NSUInteger)numItems;
775 
776 // These will return kGPBUnrecognizedEnumeratorValue if the value for the key
777 // is not a valid enumerator as defined by validationFunc. If the actual value is
778 // desired, use "raw" version of the method.
779 
788 - (BOOL)getEnum:(nullable int32_t *)value forKey:(uint32_t)key;
789 
798 - (void)enumerateKeysAndEnumsUsingBlock:
799  (void (NS_NOESCAPE ^)(uint32_t key, int32_t value, BOOL *stop))block;
800 
812 - (BOOL)getRawValue:(nullable int32_t *)rawValue forKey:(uint32_t)key;
813 
825 - (void)enumerateKeysAndRawValuesUsingBlock:
826  (void (NS_NOESCAPE ^)(uint32_t key, int32_t rawValue, BOOL *stop))block;
827 
837 - (void)addRawEntriesFromDictionary:(GPBUInt32EnumDictionary *)otherDictionary;
838 
839 // If value is not a valid enumerator as defined by validationFunc, these
840 // methods will assert in debug, and will log in release and assign the value
841 // to the default value. Use the rawValue methods below to assign non enumerator
842 // values.
843 
850 - (void)setEnum:(int32_t)value forKey:(uint32_t)key;
851 
861 - (void)setRawValue:(int32_t)rawValue forKey:(uint32_t)key;
862 
868 - (void)removeEnumForKey:(uint32_t)aKey;
869 
873 - (void)removeAll;
874 
875 @end
876 
877 #pragma mark - UInt32 -> Object
878 
885 @interface GPBUInt32ObjectDictionary<__covariant ObjectType> : NSObject <NSCopying>
886 
888 @property(nonatomic, readonly) NSUInteger count;
889 
899 - (instancetype)initWithObjects:(const ObjectType __nonnull GPB_UNSAFE_UNRETAINED [__nullable])objects
900  forKeys:(const uint32_t [__nullable])keys
901  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
902 
910 - (instancetype)initWithDictionary:(GPBUInt32ObjectDictionary *)dictionary;
911 
919 - (instancetype)initWithCapacity:(NSUInteger)numItems;
920 
928 - (ObjectType)objectForKey:(uint32_t)key;
929 
938 - (void)enumerateKeysAndObjectsUsingBlock:
939  (void (NS_NOESCAPE ^)(uint32_t key, ObjectType object, BOOL *stop))block;
940 
947 - (void)addEntriesFromDictionary:(GPBUInt32ObjectDictionary *)otherDictionary;
948 
955 - (void)setObject:(ObjectType)object forKey:(uint32_t)key;
956 
962 - (void)removeObjectForKey:(uint32_t)aKey;
963 
967 - (void)removeAll;
968 
969 @end
970 
971 #pragma mark - Int32 -> UInt32
972 
979 @interface GPBInt32UInt32Dictionary : NSObject <NSCopying>
980 
982 @property(nonatomic, readonly) NSUInteger count;
983 
993 - (instancetype)initWithUInt32s:(const uint32_t [__nullable])values
994  forKeys:(const int32_t [__nullable])keys
995  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
996 
1004 - (instancetype)initWithDictionary:(GPBInt32UInt32Dictionary *)dictionary;
1005 
1013 - (instancetype)initWithCapacity:(NSUInteger)numItems;
1014 
1023 - (BOOL)getUInt32:(nullable uint32_t *)value forKey:(int32_t)key;
1024 
1033 - (void)enumerateKeysAndUInt32sUsingBlock:
1034  (void (NS_NOESCAPE ^)(int32_t key, uint32_t value, BOOL *stop))block;
1035 
1042 - (void)addEntriesFromDictionary:(GPBInt32UInt32Dictionary *)otherDictionary;
1043 
1050 - (void)setUInt32:(uint32_t)value forKey:(int32_t)key;
1051 
1057 - (void)removeUInt32ForKey:(int32_t)aKey;
1058 
1062 - (void)removeAll;
1063 
1064 @end
1065 
1066 #pragma mark - Int32 -> Int32
1067 
1074 @interface GPBInt32Int32Dictionary : NSObject <NSCopying>
1075 
1077 @property(nonatomic, readonly) NSUInteger count;
1078 
1088 - (instancetype)initWithInt32s:(const int32_t [__nullable])values
1089  forKeys:(const int32_t [__nullable])keys
1090  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
1091 
1099 - (instancetype)initWithDictionary:(GPBInt32Int32Dictionary *)dictionary;
1100 
1108 - (instancetype)initWithCapacity:(NSUInteger)numItems;
1109 
1118 - (BOOL)getInt32:(nullable int32_t *)value forKey:(int32_t)key;
1119 
1128 - (void)enumerateKeysAndInt32sUsingBlock:
1129  (void (NS_NOESCAPE ^)(int32_t key, int32_t value, BOOL *stop))block;
1130 
1137 - (void)addEntriesFromDictionary:(GPBInt32Int32Dictionary *)otherDictionary;
1138 
1145 - (void)setInt32:(int32_t)value forKey:(int32_t)key;
1146 
1152 - (void)removeInt32ForKey:(int32_t)aKey;
1153 
1157 - (void)removeAll;
1158 
1159 @end
1160 
1161 #pragma mark - Int32 -> UInt64
1162 
1169 @interface GPBInt32UInt64Dictionary : NSObject <NSCopying>
1170 
1172 @property(nonatomic, readonly) NSUInteger count;
1173 
1183 - (instancetype)initWithUInt64s:(const uint64_t [__nullable])values
1184  forKeys:(const int32_t [__nullable])keys
1185  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
1186 
1194 - (instancetype)initWithDictionary:(GPBInt32UInt64Dictionary *)dictionary;
1195 
1203 - (instancetype)initWithCapacity:(NSUInteger)numItems;
1204 
1213 - (BOOL)getUInt64:(nullable uint64_t *)value forKey:(int32_t)key;
1214 
1223 - (void)enumerateKeysAndUInt64sUsingBlock:
1224  (void (NS_NOESCAPE ^)(int32_t key, uint64_t value, BOOL *stop))block;
1225 
1232 - (void)addEntriesFromDictionary:(GPBInt32UInt64Dictionary *)otherDictionary;
1233 
1240 - (void)setUInt64:(uint64_t)value forKey:(int32_t)key;
1241 
1247 - (void)removeUInt64ForKey:(int32_t)aKey;
1248 
1252 - (void)removeAll;
1253 
1254 @end
1255 
1256 #pragma mark - Int32 -> Int64
1257 
1264 @interface GPBInt32Int64Dictionary : NSObject <NSCopying>
1265 
1267 @property(nonatomic, readonly) NSUInteger count;
1268 
1278 - (instancetype)initWithInt64s:(const int64_t [__nullable])values
1279  forKeys:(const int32_t [__nullable])keys
1280  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
1281 
1289 - (instancetype)initWithDictionary:(GPBInt32Int64Dictionary *)dictionary;
1290 
1298 - (instancetype)initWithCapacity:(NSUInteger)numItems;
1299 
1308 - (BOOL)getInt64:(nullable int64_t *)value forKey:(int32_t)key;
1309 
1318 - (void)enumerateKeysAndInt64sUsingBlock:
1319  (void (NS_NOESCAPE ^)(int32_t key, int64_t value, BOOL *stop))block;
1320 
1327 - (void)addEntriesFromDictionary:(GPBInt32Int64Dictionary *)otherDictionary;
1328 
1335 - (void)setInt64:(int64_t)value forKey:(int32_t)key;
1336 
1342 - (void)removeInt64ForKey:(int32_t)aKey;
1343 
1347 - (void)removeAll;
1348 
1349 @end
1350 
1351 #pragma mark - Int32 -> Bool
1352 
1359 @interface GPBInt32BoolDictionary : NSObject <NSCopying>
1360 
1362 @property(nonatomic, readonly) NSUInteger count;
1363 
1373 - (instancetype)initWithBools:(const BOOL [__nullable])values
1374  forKeys:(const int32_t [__nullable])keys
1375  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
1376 
1384 - (instancetype)initWithDictionary:(GPBInt32BoolDictionary *)dictionary;
1385 
1393 - (instancetype)initWithCapacity:(NSUInteger)numItems;
1394 
1403 - (BOOL)getBool:(nullable BOOL *)value forKey:(int32_t)key;
1404 
1413 - (void)enumerateKeysAndBoolsUsingBlock:
1414  (void (NS_NOESCAPE ^)(int32_t key, BOOL value, BOOL *stop))block;
1415 
1422 - (void)addEntriesFromDictionary:(GPBInt32BoolDictionary *)otherDictionary;
1423 
1430 - (void)setBool:(BOOL)value forKey:(int32_t)key;
1431 
1437 - (void)removeBoolForKey:(int32_t)aKey;
1438 
1442 - (void)removeAll;
1443 
1444 @end
1445 
1446 #pragma mark - Int32 -> Float
1447 
1454 @interface GPBInt32FloatDictionary : NSObject <NSCopying>
1455 
1457 @property(nonatomic, readonly) NSUInteger count;
1458 
1468 - (instancetype)initWithFloats:(const float [__nullable])values
1469  forKeys:(const int32_t [__nullable])keys
1470  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
1471 
1479 - (instancetype)initWithDictionary:(GPBInt32FloatDictionary *)dictionary;
1480 
1488 - (instancetype)initWithCapacity:(NSUInteger)numItems;
1489 
1498 - (BOOL)getFloat:(nullable float *)value forKey:(int32_t)key;
1499 
1508 - (void)enumerateKeysAndFloatsUsingBlock:
1509  (void (NS_NOESCAPE ^)(int32_t key, float value, BOOL *stop))block;
1510 
1517 - (void)addEntriesFromDictionary:(GPBInt32FloatDictionary *)otherDictionary;
1518 
1525 - (void)setFloat:(float)value forKey:(int32_t)key;
1526 
1532 - (void)removeFloatForKey:(int32_t)aKey;
1533 
1537 - (void)removeAll;
1538 
1539 @end
1540 
1541 #pragma mark - Int32 -> Double
1542 
1549 @interface GPBInt32DoubleDictionary : NSObject <NSCopying>
1550 
1552 @property(nonatomic, readonly) NSUInteger count;
1553 
1563 - (instancetype)initWithDoubles:(const double [__nullable])values
1564  forKeys:(const int32_t [__nullable])keys
1565  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
1566 
1574 - (instancetype)initWithDictionary:(GPBInt32DoubleDictionary *)dictionary;
1575 
1583 - (instancetype)initWithCapacity:(NSUInteger)numItems;
1584 
1593 - (BOOL)getDouble:(nullable double *)value forKey:(int32_t)key;
1594 
1603 - (void)enumerateKeysAndDoublesUsingBlock:
1604  (void (NS_NOESCAPE ^)(int32_t key, double value, BOOL *stop))block;
1605 
1612 - (void)addEntriesFromDictionary:(GPBInt32DoubleDictionary *)otherDictionary;
1613 
1620 - (void)setDouble:(double)value forKey:(int32_t)key;
1621 
1627 - (void)removeDoubleForKey:(int32_t)aKey;
1628 
1632 - (void)removeAll;
1633 
1634 @end
1635 
1636 #pragma mark - Int32 -> Enum
1637 
1644 @interface GPBInt32EnumDictionary : NSObject <NSCopying>
1645 
1647 @property(nonatomic, readonly) NSUInteger count;
1649 @property(nonatomic, readonly) GPBEnumValidationFunc validationFunc;
1650 
1658 - (instancetype)initWithValidationFunction:(nullable GPBEnumValidationFunc)func;
1659 
1670 - (instancetype)initWithValidationFunction:(nullable GPBEnumValidationFunc)func
1671  rawValues:(const int32_t [__nullable])values
1672  forKeys:(const int32_t [__nullable])keys
1673  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
1674 
1684 - (instancetype)initWithDictionary:(GPBInt32EnumDictionary *)dictionary;
1685 
1694 - (instancetype)initWithValidationFunction:(nullable GPBEnumValidationFunc)func
1695  capacity:(NSUInteger)numItems;
1696 
1697 // These will return kGPBUnrecognizedEnumeratorValue if the value for the key
1698 // is not a valid enumerator as defined by validationFunc. If the actual value is
1699 // desired, use "raw" version of the method.
1700 
1709 - (BOOL)getEnum:(nullable int32_t *)value forKey:(int32_t)key;
1710 
1719 - (void)enumerateKeysAndEnumsUsingBlock:
1720  (void (NS_NOESCAPE ^)(int32_t key, int32_t value, BOOL *stop))block;
1721 
1733 - (BOOL)getRawValue:(nullable int32_t *)rawValue forKey:(int32_t)key;
1734 
1746 - (void)enumerateKeysAndRawValuesUsingBlock:
1747  (void (NS_NOESCAPE ^)(int32_t key, int32_t rawValue, BOOL *stop))block;
1748 
1758 - (void)addRawEntriesFromDictionary:(GPBInt32EnumDictionary *)otherDictionary;
1759 
1760 // If value is not a valid enumerator as defined by validationFunc, these
1761 // methods will assert in debug, and will log in release and assign the value
1762 // to the default value. Use the rawValue methods below to assign non enumerator
1763 // values.
1764 
1771 - (void)setEnum:(int32_t)value forKey:(int32_t)key;
1772 
1782 - (void)setRawValue:(int32_t)rawValue forKey:(int32_t)key;
1783 
1789 - (void)removeEnumForKey:(int32_t)aKey;
1790 
1794 - (void)removeAll;
1795 
1796 @end
1797 
1798 #pragma mark - Int32 -> Object
1799 
1806 @interface GPBInt32ObjectDictionary<__covariant ObjectType> : NSObject <NSCopying>
1807 
1809 @property(nonatomic, readonly) NSUInteger count;
1810 
1820 - (instancetype)initWithObjects:(const ObjectType __nonnull GPB_UNSAFE_UNRETAINED [__nullable])objects
1821  forKeys:(const int32_t [__nullable])keys
1822  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
1823 
1831 - (instancetype)initWithDictionary:(GPBInt32ObjectDictionary *)dictionary;
1832 
1840 - (instancetype)initWithCapacity:(NSUInteger)numItems;
1841 
1849 - (ObjectType)objectForKey:(int32_t)key;
1850 
1859 - (void)enumerateKeysAndObjectsUsingBlock:
1860  (void (NS_NOESCAPE ^)(int32_t key, ObjectType object, BOOL *stop))block;
1861 
1868 - (void)addEntriesFromDictionary:(GPBInt32ObjectDictionary *)otherDictionary;
1869 
1876 - (void)setObject:(ObjectType)object forKey:(int32_t)key;
1877 
1883 - (void)removeObjectForKey:(int32_t)aKey;
1884 
1888 - (void)removeAll;
1889 
1890 @end
1891 
1892 #pragma mark - UInt64 -> UInt32
1893 
1900 @interface GPBUInt64UInt32Dictionary : NSObject <NSCopying>
1901 
1903 @property(nonatomic, readonly) NSUInteger count;
1904 
1914 - (instancetype)initWithUInt32s:(const uint32_t [__nullable])values
1915  forKeys:(const uint64_t [__nullable])keys
1916  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
1917 
1925 - (instancetype)initWithDictionary:(GPBUInt64UInt32Dictionary *)dictionary;
1926 
1934 - (instancetype)initWithCapacity:(NSUInteger)numItems;
1935 
1944 - (BOOL)getUInt32:(nullable uint32_t *)value forKey:(uint64_t)key;
1945 
1954 - (void)enumerateKeysAndUInt32sUsingBlock:
1955  (void (NS_NOESCAPE ^)(uint64_t key, uint32_t value, BOOL *stop))block;
1956 
1963 - (void)addEntriesFromDictionary:(GPBUInt64UInt32Dictionary *)otherDictionary;
1964 
1971 - (void)setUInt32:(uint32_t)value forKey:(uint64_t)key;
1972 
1978 - (void)removeUInt32ForKey:(uint64_t)aKey;
1979 
1983 - (void)removeAll;
1984 
1985 @end
1986 
1987 #pragma mark - UInt64 -> Int32
1988 
1995 @interface GPBUInt64Int32Dictionary : NSObject <NSCopying>
1996 
1998 @property(nonatomic, readonly) NSUInteger count;
1999 
2009 - (instancetype)initWithInt32s:(const int32_t [__nullable])values
2010  forKeys:(const uint64_t [__nullable])keys
2011  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
2012 
2020 - (instancetype)initWithDictionary:(GPBUInt64Int32Dictionary *)dictionary;
2021 
2029 - (instancetype)initWithCapacity:(NSUInteger)numItems;
2030 
2039 - (BOOL)getInt32:(nullable int32_t *)value forKey:(uint64_t)key;
2040 
2049 - (void)enumerateKeysAndInt32sUsingBlock:
2050  (void (NS_NOESCAPE ^)(uint64_t key, int32_t value, BOOL *stop))block;
2051 
2058 - (void)addEntriesFromDictionary:(GPBUInt64Int32Dictionary *)otherDictionary;
2059 
2066 - (void)setInt32:(int32_t)value forKey:(uint64_t)key;
2067 
2073 - (void)removeInt32ForKey:(uint64_t)aKey;
2074 
2078 - (void)removeAll;
2079 
2080 @end
2081 
2082 #pragma mark - UInt64 -> UInt64
2083 
2090 @interface GPBUInt64UInt64Dictionary : NSObject <NSCopying>
2091 
2093 @property(nonatomic, readonly) NSUInteger count;
2094 
2104 - (instancetype)initWithUInt64s:(const uint64_t [__nullable])values
2105  forKeys:(const uint64_t [__nullable])keys
2106  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
2107 
2115 - (instancetype)initWithDictionary:(GPBUInt64UInt64Dictionary *)dictionary;
2116 
2124 - (instancetype)initWithCapacity:(NSUInteger)numItems;
2125 
2134 - (BOOL)getUInt64:(nullable uint64_t *)value forKey:(uint64_t)key;
2135 
2144 - (void)enumerateKeysAndUInt64sUsingBlock:
2145  (void (NS_NOESCAPE ^)(uint64_t key, uint64_t value, BOOL *stop))block;
2146 
2153 - (void)addEntriesFromDictionary:(GPBUInt64UInt64Dictionary *)otherDictionary;
2154 
2161 - (void)setUInt64:(uint64_t)value forKey:(uint64_t)key;
2162 
2168 - (void)removeUInt64ForKey:(uint64_t)aKey;
2169 
2173 - (void)removeAll;
2174 
2175 @end
2176 
2177 #pragma mark - UInt64 -> Int64
2178 
2185 @interface GPBUInt64Int64Dictionary : NSObject <NSCopying>
2186 
2188 @property(nonatomic, readonly) NSUInteger count;
2189 
2199 - (instancetype)initWithInt64s:(const int64_t [__nullable])values
2200  forKeys:(const uint64_t [__nullable])keys
2201  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
2202 
2210 - (instancetype)initWithDictionary:(GPBUInt64Int64Dictionary *)dictionary;
2211 
2219 - (instancetype)initWithCapacity:(NSUInteger)numItems;
2220 
2229 - (BOOL)getInt64:(nullable int64_t *)value forKey:(uint64_t)key;
2230 
2239 - (void)enumerateKeysAndInt64sUsingBlock:
2240  (void (NS_NOESCAPE ^)(uint64_t key, int64_t value, BOOL *stop))block;
2241 
2248 - (void)addEntriesFromDictionary:(GPBUInt64Int64Dictionary *)otherDictionary;
2249 
2256 - (void)setInt64:(int64_t)value forKey:(uint64_t)key;
2257 
2263 - (void)removeInt64ForKey:(uint64_t)aKey;
2264 
2268 - (void)removeAll;
2269 
2270 @end
2271 
2272 #pragma mark - UInt64 -> Bool
2273 
2280 @interface GPBUInt64BoolDictionary : NSObject <NSCopying>
2281 
2283 @property(nonatomic, readonly) NSUInteger count;
2284 
2294 - (instancetype)initWithBools:(const BOOL [__nullable])values
2295  forKeys:(const uint64_t [__nullable])keys
2296  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
2297 
2305 - (instancetype)initWithDictionary:(GPBUInt64BoolDictionary *)dictionary;
2306 
2314 - (instancetype)initWithCapacity:(NSUInteger)numItems;
2315 
2324 - (BOOL)getBool:(nullable BOOL *)value forKey:(uint64_t)key;
2325 
2334 - (void)enumerateKeysAndBoolsUsingBlock:
2335  (void (NS_NOESCAPE ^)(uint64_t key, BOOL value, BOOL *stop))block;
2336 
2343 - (void)addEntriesFromDictionary:(GPBUInt64BoolDictionary *)otherDictionary;
2344 
2351 - (void)setBool:(BOOL)value forKey:(uint64_t)key;
2352 
2358 - (void)removeBoolForKey:(uint64_t)aKey;
2359 
2363 - (void)removeAll;
2364 
2365 @end
2366 
2367 #pragma mark - UInt64 -> Float
2368 
2375 @interface GPBUInt64FloatDictionary : NSObject <NSCopying>
2376 
2378 @property(nonatomic, readonly) NSUInteger count;
2379 
2389 - (instancetype)initWithFloats:(const float [__nullable])values
2390  forKeys:(const uint64_t [__nullable])keys
2391  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
2392 
2400 - (instancetype)initWithDictionary:(GPBUInt64FloatDictionary *)dictionary;
2401 
2409 - (instancetype)initWithCapacity:(NSUInteger)numItems;
2410 
2419 - (BOOL)getFloat:(nullable float *)value forKey:(uint64_t)key;
2420 
2429 - (void)enumerateKeysAndFloatsUsingBlock:
2430  (void (NS_NOESCAPE ^)(uint64_t key, float value, BOOL *stop))block;
2431 
2438 - (void)addEntriesFromDictionary:(GPBUInt64FloatDictionary *)otherDictionary;
2439 
2446 - (void)setFloat:(float)value forKey:(uint64_t)key;
2447 
2453 - (void)removeFloatForKey:(uint64_t)aKey;
2454 
2458 - (void)removeAll;
2459 
2460 @end
2461 
2462 #pragma mark - UInt64 -> Double
2463 
2470 @interface GPBUInt64DoubleDictionary : NSObject <NSCopying>
2471 
2473 @property(nonatomic, readonly) NSUInteger count;
2474 
2484 - (instancetype)initWithDoubles:(const double [__nullable])values
2485  forKeys:(const uint64_t [__nullable])keys
2486  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
2487 
2495 - (instancetype)initWithDictionary:(GPBUInt64DoubleDictionary *)dictionary;
2496 
2504 - (instancetype)initWithCapacity:(NSUInteger)numItems;
2505 
2514 - (BOOL)getDouble:(nullable double *)value forKey:(uint64_t)key;
2515 
2524 - (void)enumerateKeysAndDoublesUsingBlock:
2525  (void (NS_NOESCAPE ^)(uint64_t key, double value, BOOL *stop))block;
2526 
2533 - (void)addEntriesFromDictionary:(GPBUInt64DoubleDictionary *)otherDictionary;
2534 
2541 - (void)setDouble:(double)value forKey:(uint64_t)key;
2542 
2548 - (void)removeDoubleForKey:(uint64_t)aKey;
2549 
2553 - (void)removeAll;
2554 
2555 @end
2556 
2557 #pragma mark - UInt64 -> Enum
2558 
2565 @interface GPBUInt64EnumDictionary : NSObject <NSCopying>
2566 
2568 @property(nonatomic, readonly) NSUInteger count;
2570 @property(nonatomic, readonly) GPBEnumValidationFunc validationFunc;
2571 
2579 - (instancetype)initWithValidationFunction:(nullable GPBEnumValidationFunc)func;
2580 
2591 - (instancetype)initWithValidationFunction:(nullable GPBEnumValidationFunc)func
2592  rawValues:(const int32_t [__nullable])values
2593  forKeys:(const uint64_t [__nullable])keys
2594  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
2595 
2605 - (instancetype)initWithDictionary:(GPBUInt64EnumDictionary *)dictionary;
2606 
2615 - (instancetype)initWithValidationFunction:(nullable GPBEnumValidationFunc)func
2616  capacity:(NSUInteger)numItems;
2617 
2618 // These will return kGPBUnrecognizedEnumeratorValue if the value for the key
2619 // is not a valid enumerator as defined by validationFunc. If the actual value is
2620 // desired, use "raw" version of the method.
2621 
2630 - (BOOL)getEnum:(nullable int32_t *)value forKey:(uint64_t)key;
2631 
2640 - (void)enumerateKeysAndEnumsUsingBlock:
2641  (void (NS_NOESCAPE ^)(uint64_t key, int32_t value, BOOL *stop))block;
2642 
2654 - (BOOL)getRawValue:(nullable int32_t *)rawValue forKey:(uint64_t)key;
2655 
2667 - (void)enumerateKeysAndRawValuesUsingBlock:
2668  (void (NS_NOESCAPE ^)(uint64_t key, int32_t rawValue, BOOL *stop))block;
2669 
2679 - (void)addRawEntriesFromDictionary:(GPBUInt64EnumDictionary *)otherDictionary;
2680 
2681 // If value is not a valid enumerator as defined by validationFunc, these
2682 // methods will assert in debug, and will log in release and assign the value
2683 // to the default value. Use the rawValue methods below to assign non enumerator
2684 // values.
2685 
2692 - (void)setEnum:(int32_t)value forKey:(uint64_t)key;
2693 
2703 - (void)setRawValue:(int32_t)rawValue forKey:(uint64_t)key;
2704 
2710 - (void)removeEnumForKey:(uint64_t)aKey;
2711 
2715 - (void)removeAll;
2716 
2717 @end
2718 
2719 #pragma mark - UInt64 -> Object
2720 
2727 @interface GPBUInt64ObjectDictionary<__covariant ObjectType> : NSObject <NSCopying>
2728 
2730 @property(nonatomic, readonly) NSUInteger count;
2731 
2741 - (instancetype)initWithObjects:(const ObjectType __nonnull GPB_UNSAFE_UNRETAINED [__nullable])objects
2742  forKeys:(const uint64_t [__nullable])keys
2743  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
2744 
2752 - (instancetype)initWithDictionary:(GPBUInt64ObjectDictionary *)dictionary;
2753 
2761 - (instancetype)initWithCapacity:(NSUInteger)numItems;
2762 
2770 - (ObjectType)objectForKey:(uint64_t)key;
2771 
2780 - (void)enumerateKeysAndObjectsUsingBlock:
2781  (void (NS_NOESCAPE ^)(uint64_t key, ObjectType object, BOOL *stop))block;
2782 
2789 - (void)addEntriesFromDictionary:(GPBUInt64ObjectDictionary *)otherDictionary;
2790 
2797 - (void)setObject:(ObjectType)object forKey:(uint64_t)key;
2798 
2804 - (void)removeObjectForKey:(uint64_t)aKey;
2805 
2809 - (void)removeAll;
2810 
2811 @end
2812 
2813 #pragma mark - Int64 -> UInt32
2814 
2821 @interface GPBInt64UInt32Dictionary : NSObject <NSCopying>
2822 
2824 @property(nonatomic, readonly) NSUInteger count;
2825 
2835 - (instancetype)initWithUInt32s:(const uint32_t [__nullable])values
2836  forKeys:(const int64_t [__nullable])keys
2837  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
2838 
2846 - (instancetype)initWithDictionary:(GPBInt64UInt32Dictionary *)dictionary;
2847 
2855 - (instancetype)initWithCapacity:(NSUInteger)numItems;
2856 
2865 - (BOOL)getUInt32:(nullable uint32_t *)value forKey:(int64_t)key;
2866 
2875 - (void)enumerateKeysAndUInt32sUsingBlock:
2876  (void (NS_NOESCAPE ^)(int64_t key, uint32_t value, BOOL *stop))block;
2877 
2884 - (void)addEntriesFromDictionary:(GPBInt64UInt32Dictionary *)otherDictionary;
2885 
2892 - (void)setUInt32:(uint32_t)value forKey:(int64_t)key;
2893 
2899 - (void)removeUInt32ForKey:(int64_t)aKey;
2900 
2904 - (void)removeAll;
2905 
2906 @end
2907 
2908 #pragma mark - Int64 -> Int32
2909 
2916 @interface GPBInt64Int32Dictionary : NSObject <NSCopying>
2917 
2919 @property(nonatomic, readonly) NSUInteger count;
2920 
2930 - (instancetype)initWithInt32s:(const int32_t [__nullable])values
2931  forKeys:(const int64_t [__nullable])keys
2932  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
2933 
2941 - (instancetype)initWithDictionary:(GPBInt64Int32Dictionary *)dictionary;
2942 
2950 - (instancetype)initWithCapacity:(NSUInteger)numItems;
2951 
2960 - (BOOL)getInt32:(nullable int32_t *)value forKey:(int64_t)key;
2961 
2970 - (void)enumerateKeysAndInt32sUsingBlock:
2971  (void (NS_NOESCAPE ^)(int64_t key, int32_t value, BOOL *stop))block;
2972 
2979 - (void)addEntriesFromDictionary:(GPBInt64Int32Dictionary *)otherDictionary;
2980 
2987 - (void)setInt32:(int32_t)value forKey:(int64_t)key;
2988 
2994 - (void)removeInt32ForKey:(int64_t)aKey;
2995 
2999 - (void)removeAll;
3000 
3001 @end
3002 
3003 #pragma mark - Int64 -> UInt64
3004 
3011 @interface GPBInt64UInt64Dictionary : NSObject <NSCopying>
3012 
3014 @property(nonatomic, readonly) NSUInteger count;
3015 
3025 - (instancetype)initWithUInt64s:(const uint64_t [__nullable])values
3026  forKeys:(const int64_t [__nullable])keys
3027  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
3028 
3036 - (instancetype)initWithDictionary:(GPBInt64UInt64Dictionary *)dictionary;
3037 
3045 - (instancetype)initWithCapacity:(NSUInteger)numItems;
3046 
3055 - (BOOL)getUInt64:(nullable uint64_t *)value forKey:(int64_t)key;
3056 
3065 - (void)enumerateKeysAndUInt64sUsingBlock:
3066  (void (NS_NOESCAPE ^)(int64_t key, uint64_t value, BOOL *stop))block;
3067 
3074 - (void)addEntriesFromDictionary:(GPBInt64UInt64Dictionary *)otherDictionary;
3075 
3082 - (void)setUInt64:(uint64_t)value forKey:(int64_t)key;
3083 
3089 - (void)removeUInt64ForKey:(int64_t)aKey;
3090 
3094 - (void)removeAll;
3095 
3096 @end
3097 
3098 #pragma mark - Int64 -> Int64
3099 
3106 @interface GPBInt64Int64Dictionary : NSObject <NSCopying>
3107 
3109 @property(nonatomic, readonly) NSUInteger count;
3110 
3120 - (instancetype)initWithInt64s:(const int64_t [__nullable])values
3121  forKeys:(const int64_t [__nullable])keys
3122  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
3123 
3131 - (instancetype)initWithDictionary:(GPBInt64Int64Dictionary *)dictionary;
3132 
3140 - (instancetype)initWithCapacity:(NSUInteger)numItems;
3141 
3150 - (BOOL)getInt64:(nullable int64_t *)value forKey:(int64_t)key;
3151 
3160 - (void)enumerateKeysAndInt64sUsingBlock:
3161  (void (NS_NOESCAPE ^)(int64_t key, int64_t value, BOOL *stop))block;
3162 
3169 - (void)addEntriesFromDictionary:(GPBInt64Int64Dictionary *)otherDictionary;
3170 
3177 - (void)setInt64:(int64_t)value forKey:(int64_t)key;
3178 
3184 - (void)removeInt64ForKey:(int64_t)aKey;
3185 
3189 - (void)removeAll;
3190 
3191 @end
3192 
3193 #pragma mark - Int64 -> Bool
3194 
3201 @interface GPBInt64BoolDictionary : NSObject <NSCopying>
3202 
3204 @property(nonatomic, readonly) NSUInteger count;
3205 
3215 - (instancetype)initWithBools:(const BOOL [__nullable])values
3216  forKeys:(const int64_t [__nullable])keys
3217  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
3218 
3226 - (instancetype)initWithDictionary:(GPBInt64BoolDictionary *)dictionary;
3227 
3235 - (instancetype)initWithCapacity:(NSUInteger)numItems;
3236 
3245 - (BOOL)getBool:(nullable BOOL *)value forKey:(int64_t)key;
3246 
3255 - (void)enumerateKeysAndBoolsUsingBlock:
3256  (void (NS_NOESCAPE ^)(int64_t key, BOOL value, BOOL *stop))block;
3257 
3264 - (void)addEntriesFromDictionary:(GPBInt64BoolDictionary *)otherDictionary;
3265 
3272 - (void)setBool:(BOOL)value forKey:(int64_t)key;
3273 
3279 - (void)removeBoolForKey:(int64_t)aKey;
3280 
3284 - (void)removeAll;
3285 
3286 @end
3287 
3288 #pragma mark - Int64 -> Float
3289 
3296 @interface GPBInt64FloatDictionary : NSObject <NSCopying>
3297 
3299 @property(nonatomic, readonly) NSUInteger count;
3300 
3310 - (instancetype)initWithFloats:(const float [__nullable])values
3311  forKeys:(const int64_t [__nullable])keys
3312  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
3313 
3321 - (instancetype)initWithDictionary:(GPBInt64FloatDictionary *)dictionary;
3322 
3330 - (instancetype)initWithCapacity:(NSUInteger)numItems;
3331 
3340 - (BOOL)getFloat:(nullable float *)value forKey:(int64_t)key;
3341 
3350 - (void)enumerateKeysAndFloatsUsingBlock:
3351  (void (NS_NOESCAPE ^)(int64_t key, float value, BOOL *stop))block;
3352 
3359 - (void)addEntriesFromDictionary:(GPBInt64FloatDictionary *)otherDictionary;
3360 
3367 - (void)setFloat:(float)value forKey:(int64_t)key;
3368 
3374 - (void)removeFloatForKey:(int64_t)aKey;
3375 
3379 - (void)removeAll;
3380 
3381 @end
3382 
3383 #pragma mark - Int64 -> Double
3384 
3391 @interface GPBInt64DoubleDictionary : NSObject <NSCopying>
3392 
3394 @property(nonatomic, readonly) NSUInteger count;
3395 
3405 - (instancetype)initWithDoubles:(const double [__nullable])values
3406  forKeys:(const int64_t [__nullable])keys
3407  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
3408 
3416 - (instancetype)initWithDictionary:(GPBInt64DoubleDictionary *)dictionary;
3417 
3425 - (instancetype)initWithCapacity:(NSUInteger)numItems;
3426 
3435 - (BOOL)getDouble:(nullable double *)value forKey:(int64_t)key;
3436 
3445 - (void)enumerateKeysAndDoublesUsingBlock:
3446  (void (NS_NOESCAPE ^)(int64_t key, double value, BOOL *stop))block;
3447 
3454 - (void)addEntriesFromDictionary:(GPBInt64DoubleDictionary *)otherDictionary;
3455 
3462 - (void)setDouble:(double)value forKey:(int64_t)key;
3463 
3469 - (void)removeDoubleForKey:(int64_t)aKey;
3470 
3474 - (void)removeAll;
3475 
3476 @end
3477 
3478 #pragma mark - Int64 -> Enum
3479 
3486 @interface GPBInt64EnumDictionary : NSObject <NSCopying>
3487 
3489 @property(nonatomic, readonly) NSUInteger count;
3491 @property(nonatomic, readonly) GPBEnumValidationFunc validationFunc;
3492 
3500 - (instancetype)initWithValidationFunction:(nullable GPBEnumValidationFunc)func;
3501 
3512 - (instancetype)initWithValidationFunction:(nullable GPBEnumValidationFunc)func
3513  rawValues:(const int32_t [__nullable])values
3514  forKeys:(const int64_t [__nullable])keys
3515  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
3516 
3526 - (instancetype)initWithDictionary:(GPBInt64EnumDictionary *)dictionary;
3527 
3536 - (instancetype)initWithValidationFunction:(nullable GPBEnumValidationFunc)func
3537  capacity:(NSUInteger)numItems;
3538 
3539 // These will return kGPBUnrecognizedEnumeratorValue if the value for the key
3540 // is not a valid enumerator as defined by validationFunc. If the actual value is
3541 // desired, use "raw" version of the method.
3542 
3551 - (BOOL)getEnum:(nullable int32_t *)value forKey:(int64_t)key;
3552 
3561 - (void)enumerateKeysAndEnumsUsingBlock:
3562  (void (NS_NOESCAPE ^)(int64_t key, int32_t value, BOOL *stop))block;
3563 
3575 - (BOOL)getRawValue:(nullable int32_t *)rawValue forKey:(int64_t)key;
3576 
3588 - (void)enumerateKeysAndRawValuesUsingBlock:
3589  (void (NS_NOESCAPE ^)(int64_t key, int32_t rawValue, BOOL *stop))block;
3590 
3600 - (void)addRawEntriesFromDictionary:(GPBInt64EnumDictionary *)otherDictionary;
3601 
3602 // If value is not a valid enumerator as defined by validationFunc, these
3603 // methods will assert in debug, and will log in release and assign the value
3604 // to the default value. Use the rawValue methods below to assign non enumerator
3605 // values.
3606 
3613 - (void)setEnum:(int32_t)value forKey:(int64_t)key;
3614 
3624 - (void)setRawValue:(int32_t)rawValue forKey:(int64_t)key;
3625 
3631 - (void)removeEnumForKey:(int64_t)aKey;
3632 
3636 - (void)removeAll;
3637 
3638 @end
3639 
3640 #pragma mark - Int64 -> Object
3641 
3648 @interface GPBInt64ObjectDictionary<__covariant ObjectType> : NSObject <NSCopying>
3649 
3651 @property(nonatomic, readonly) NSUInteger count;
3652 
3662 - (instancetype)initWithObjects:(const ObjectType __nonnull GPB_UNSAFE_UNRETAINED [__nullable])objects
3663  forKeys:(const int64_t [__nullable])keys
3664  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
3665 
3673 - (instancetype)initWithDictionary:(GPBInt64ObjectDictionary *)dictionary;
3674 
3682 - (instancetype)initWithCapacity:(NSUInteger)numItems;
3683 
3691 - (ObjectType)objectForKey:(int64_t)key;
3692 
3701 - (void)enumerateKeysAndObjectsUsingBlock:
3702  (void (NS_NOESCAPE ^)(int64_t key, ObjectType object, BOOL *stop))block;
3703 
3710 - (void)addEntriesFromDictionary:(GPBInt64ObjectDictionary *)otherDictionary;
3711 
3718 - (void)setObject:(ObjectType)object forKey:(int64_t)key;
3719 
3725 - (void)removeObjectForKey:(int64_t)aKey;
3726 
3730 - (void)removeAll;
3731 
3732 @end
3733 
3734 #pragma mark - Bool -> UInt32
3735 
3742 @interface GPBBoolUInt32Dictionary : NSObject <NSCopying>
3743 
3745 @property(nonatomic, readonly) NSUInteger count;
3746 
3756 - (instancetype)initWithUInt32s:(const uint32_t [__nullable])values
3757  forKeys:(const BOOL [__nullable])keys
3758  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
3759 
3767 - (instancetype)initWithDictionary:(GPBBoolUInt32Dictionary *)dictionary;
3768 
3776 - (instancetype)initWithCapacity:(NSUInteger)numItems;
3777 
3786 - (BOOL)getUInt32:(nullable uint32_t *)value forKey:(BOOL)key;
3787 
3796 - (void)enumerateKeysAndUInt32sUsingBlock:
3797  (void (NS_NOESCAPE ^)(BOOL key, uint32_t value, BOOL *stop))block;
3798 
3805 - (void)addEntriesFromDictionary:(GPBBoolUInt32Dictionary *)otherDictionary;
3806 
3813 - (void)setUInt32:(uint32_t)value forKey:(BOOL)key;
3814 
3820 - (void)removeUInt32ForKey:(BOOL)aKey;
3821 
3825 - (void)removeAll;
3826 
3827 @end
3828 
3829 #pragma mark - Bool -> Int32
3830 
3837 @interface GPBBoolInt32Dictionary : NSObject <NSCopying>
3838 
3840 @property(nonatomic, readonly) NSUInteger count;
3841 
3851 - (instancetype)initWithInt32s:(const int32_t [__nullable])values
3852  forKeys:(const BOOL [__nullable])keys
3853  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
3854 
3862 - (instancetype)initWithDictionary:(GPBBoolInt32Dictionary *)dictionary;
3863 
3871 - (instancetype)initWithCapacity:(NSUInteger)numItems;
3872 
3881 - (BOOL)getInt32:(nullable int32_t *)value forKey:(BOOL)key;
3882 
3891 - (void)enumerateKeysAndInt32sUsingBlock:
3892  (void (NS_NOESCAPE ^)(BOOL key, int32_t value, BOOL *stop))block;
3893 
3900 - (void)addEntriesFromDictionary:(GPBBoolInt32Dictionary *)otherDictionary;
3901 
3908 - (void)setInt32:(int32_t)value forKey:(BOOL)key;
3909 
3915 - (void)removeInt32ForKey:(BOOL)aKey;
3916 
3920 - (void)removeAll;
3921 
3922 @end
3923 
3924 #pragma mark - Bool -> UInt64
3925 
3932 @interface GPBBoolUInt64Dictionary : NSObject <NSCopying>
3933 
3935 @property(nonatomic, readonly) NSUInteger count;
3936 
3946 - (instancetype)initWithUInt64s:(const uint64_t [__nullable])values
3947  forKeys:(const BOOL [__nullable])keys
3948  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
3949 
3957 - (instancetype)initWithDictionary:(GPBBoolUInt64Dictionary *)dictionary;
3958 
3966 - (instancetype)initWithCapacity:(NSUInteger)numItems;
3967 
3976 - (BOOL)getUInt64:(nullable uint64_t *)value forKey:(BOOL)key;
3977 
3986 - (void)enumerateKeysAndUInt64sUsingBlock:
3987  (void (NS_NOESCAPE ^)(BOOL key, uint64_t value, BOOL *stop))block;
3988 
3995 - (void)addEntriesFromDictionary:(GPBBoolUInt64Dictionary *)otherDictionary;
3996 
4003 - (void)setUInt64:(uint64_t)value forKey:(BOOL)key;
4004 
4010 - (void)removeUInt64ForKey:(BOOL)aKey;
4011 
4015 - (void)removeAll;
4016 
4017 @end
4018 
4019 #pragma mark - Bool -> Int64
4020 
4027 @interface GPBBoolInt64Dictionary : NSObject <NSCopying>
4028 
4030 @property(nonatomic, readonly) NSUInteger count;
4031 
4041 - (instancetype)initWithInt64s:(const int64_t [__nullable])values
4042  forKeys:(const BOOL [__nullable])keys
4043  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
4044 
4052 - (instancetype)initWithDictionary:(GPBBoolInt64Dictionary *)dictionary;
4053 
4061 - (instancetype)initWithCapacity:(NSUInteger)numItems;
4062 
4071 - (BOOL)getInt64:(nullable int64_t *)value forKey:(BOOL)key;
4072 
4081 - (void)enumerateKeysAndInt64sUsingBlock:
4082  (void (NS_NOESCAPE ^)(BOOL key, int64_t value, BOOL *stop))block;
4083 
4090 - (void)addEntriesFromDictionary:(GPBBoolInt64Dictionary *)otherDictionary;
4091 
4098 - (void)setInt64:(int64_t)value forKey:(BOOL)key;
4099 
4105 - (void)removeInt64ForKey:(BOOL)aKey;
4106 
4110 - (void)removeAll;
4111 
4112 @end
4113 
4114 #pragma mark - Bool -> Bool
4115 
4122 @interface GPBBoolBoolDictionary : NSObject <NSCopying>
4123 
4125 @property(nonatomic, readonly) NSUInteger count;
4126 
4136 - (instancetype)initWithBools:(const BOOL [__nullable])values
4137  forKeys:(const BOOL [__nullable])keys
4138  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
4139 
4147 - (instancetype)initWithDictionary:(GPBBoolBoolDictionary *)dictionary;
4148 
4156 - (instancetype)initWithCapacity:(NSUInteger)numItems;
4157 
4166 - (BOOL)getBool:(nullable BOOL *)value forKey:(BOOL)key;
4167 
4176 - (void)enumerateKeysAndBoolsUsingBlock:
4177  (void (NS_NOESCAPE ^)(BOOL key, BOOL value, BOOL *stop))block;
4178 
4185 - (void)addEntriesFromDictionary:(GPBBoolBoolDictionary *)otherDictionary;
4186 
4193 - (void)setBool:(BOOL)value forKey:(BOOL)key;
4194 
4200 - (void)removeBoolForKey:(BOOL)aKey;
4201 
4205 - (void)removeAll;
4206 
4207 @end
4208 
4209 #pragma mark - Bool -> Float
4210 
4217 @interface GPBBoolFloatDictionary : NSObject <NSCopying>
4218 
4220 @property(nonatomic, readonly) NSUInteger count;
4221 
4231 - (instancetype)initWithFloats:(const float [__nullable])values
4232  forKeys:(const BOOL [__nullable])keys
4233  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
4234 
4242 - (instancetype)initWithDictionary:(GPBBoolFloatDictionary *)dictionary;
4243 
4251 - (instancetype)initWithCapacity:(NSUInteger)numItems;
4252 
4261 - (BOOL)getFloat:(nullable float *)value forKey:(BOOL)key;
4262 
4271 - (void)enumerateKeysAndFloatsUsingBlock:
4272  (void (NS_NOESCAPE ^)(BOOL key, float value, BOOL *stop))block;
4273 
4280 - (void)addEntriesFromDictionary:(GPBBoolFloatDictionary *)otherDictionary;
4281 
4288 - (void)setFloat:(float)value forKey:(BOOL)key;
4289 
4295 - (void)removeFloatForKey:(BOOL)aKey;
4296 
4300 - (void)removeAll;
4301 
4302 @end
4303 
4304 #pragma mark - Bool -> Double
4305 
4312 @interface GPBBoolDoubleDictionary : NSObject <NSCopying>
4313 
4315 @property(nonatomic, readonly) NSUInteger count;
4316 
4326 - (instancetype)initWithDoubles:(const double [__nullable])values
4327  forKeys:(const BOOL [__nullable])keys
4328  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
4329 
4337 - (instancetype)initWithDictionary:(GPBBoolDoubleDictionary *)dictionary;
4338 
4346 - (instancetype)initWithCapacity:(NSUInteger)numItems;
4347 
4356 - (BOOL)getDouble:(nullable double *)value forKey:(BOOL)key;
4357 
4366 - (void)enumerateKeysAndDoublesUsingBlock:
4367  (void (NS_NOESCAPE ^)(BOOL key, double value, BOOL *stop))block;
4368 
4375 - (void)addEntriesFromDictionary:(GPBBoolDoubleDictionary *)otherDictionary;
4376 
4383 - (void)setDouble:(double)value forKey:(BOOL)key;
4384 
4390 - (void)removeDoubleForKey:(BOOL)aKey;
4391 
4395 - (void)removeAll;
4396 
4397 @end
4398 
4399 #pragma mark - Bool -> Enum
4400 
4407 @interface GPBBoolEnumDictionary : NSObject <NSCopying>
4408 
4410 @property(nonatomic, readonly) NSUInteger count;
4412 @property(nonatomic, readonly) GPBEnumValidationFunc validationFunc;
4413 
4421 - (instancetype)initWithValidationFunction:(nullable GPBEnumValidationFunc)func;
4422 
4433 - (instancetype)initWithValidationFunction:(nullable GPBEnumValidationFunc)func
4434  rawValues:(const int32_t [__nullable])values
4435  forKeys:(const BOOL [__nullable])keys
4436  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
4437 
4447 - (instancetype)initWithDictionary:(GPBBoolEnumDictionary *)dictionary;
4448 
4457 - (instancetype)initWithValidationFunction:(nullable GPBEnumValidationFunc)func
4458  capacity:(NSUInteger)numItems;
4459 
4460 // These will return kGPBUnrecognizedEnumeratorValue if the value for the key
4461 // is not a valid enumerator as defined by validationFunc. If the actual value is
4462 // desired, use "raw" version of the method.
4463 
4472 - (BOOL)getEnum:(nullable int32_t *)value forKey:(BOOL)key;
4473 
4482 - (void)enumerateKeysAndEnumsUsingBlock:
4483  (void (NS_NOESCAPE ^)(BOOL key, int32_t value, BOOL *stop))block;
4484 
4496 - (BOOL)getRawValue:(nullable int32_t *)rawValue forKey:(BOOL)key;
4497 
4509 - (void)enumerateKeysAndRawValuesUsingBlock:
4510  (void (NS_NOESCAPE ^)(BOOL key, int32_t rawValue, BOOL *stop))block;
4511 
4521 - (void)addRawEntriesFromDictionary:(GPBBoolEnumDictionary *)otherDictionary;
4522 
4523 // If value is not a valid enumerator as defined by validationFunc, these
4524 // methods will assert in debug, and will log in release and assign the value
4525 // to the default value. Use the rawValue methods below to assign non enumerator
4526 // values.
4527 
4534 - (void)setEnum:(int32_t)value forKey:(BOOL)key;
4535 
4545 - (void)setRawValue:(int32_t)rawValue forKey:(BOOL)key;
4546 
4552 - (void)removeEnumForKey:(BOOL)aKey;
4553 
4557 - (void)removeAll;
4558 
4559 @end
4560 
4561 #pragma mark - Bool -> Object
4562 
4569 @interface GPBBoolObjectDictionary<__covariant ObjectType> : NSObject <NSCopying>
4570 
4572 @property(nonatomic, readonly) NSUInteger count;
4573 
4583 - (instancetype)initWithObjects:(const ObjectType __nonnull GPB_UNSAFE_UNRETAINED [__nullable])objects
4584  forKeys:(const BOOL [__nullable])keys
4585  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
4586 
4594 - (instancetype)initWithDictionary:(GPBBoolObjectDictionary *)dictionary;
4595 
4603 - (instancetype)initWithCapacity:(NSUInteger)numItems;
4604 
4612 - (ObjectType)objectForKey:(BOOL)key;
4613 
4622 - (void)enumerateKeysAndObjectsUsingBlock:
4623  (void (NS_NOESCAPE ^)(BOOL key, ObjectType object, BOOL *stop))block;
4624 
4631 - (void)addEntriesFromDictionary:(GPBBoolObjectDictionary *)otherDictionary;
4632 
4639 - (void)setObject:(ObjectType)object forKey:(BOOL)key;
4640 
4646 - (void)removeObjectForKey:(BOOL)aKey;
4647 
4651 - (void)removeAll;
4652 
4653 @end
4654 
4655 #pragma mark - String -> UInt32
4656 
4663 @interface GPBStringUInt32Dictionary : NSObject <NSCopying>
4664 
4666 @property(nonatomic, readonly) NSUInteger count;
4667 
4677 - (instancetype)initWithUInt32s:(const uint32_t [__nullable])values
4678  forKeys:(const NSString * __nonnull GPB_UNSAFE_UNRETAINED [__nullable])keys
4679  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
4680 
4688 - (instancetype)initWithDictionary:(GPBStringUInt32Dictionary *)dictionary;
4689 
4697 - (instancetype)initWithCapacity:(NSUInteger)numItems;
4698 
4707 - (BOOL)getUInt32:(nullable uint32_t *)value forKey:(NSString *)key;
4708 
4717 - (void)enumerateKeysAndUInt32sUsingBlock:
4718  (void (NS_NOESCAPE ^)(NSString *key, uint32_t value, BOOL *stop))block;
4719 
4726 - (void)addEntriesFromDictionary:(GPBStringUInt32Dictionary *)otherDictionary;
4727 
4734 - (void)setUInt32:(uint32_t)value forKey:(NSString *)key;
4735 
4741 - (void)removeUInt32ForKey:(NSString *)aKey;
4742 
4746 - (void)removeAll;
4747 
4748 @end
4749 
4750 #pragma mark - String -> Int32
4751 
4758 @interface GPBStringInt32Dictionary : NSObject <NSCopying>
4759 
4761 @property(nonatomic, readonly) NSUInteger count;
4762 
4772 - (instancetype)initWithInt32s:(const int32_t [__nullable])values
4773  forKeys:(const NSString * __nonnull GPB_UNSAFE_UNRETAINED [__nullable])keys
4774  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
4775 
4783 - (instancetype)initWithDictionary:(GPBStringInt32Dictionary *)dictionary;
4784 
4792 - (instancetype)initWithCapacity:(NSUInteger)numItems;
4793 
4802 - (BOOL)getInt32:(nullable int32_t *)value forKey:(NSString *)key;
4803 
4812 - (void)enumerateKeysAndInt32sUsingBlock:
4813  (void (NS_NOESCAPE ^)(NSString *key, int32_t value, BOOL *stop))block;
4814 
4821 - (void)addEntriesFromDictionary:(GPBStringInt32Dictionary *)otherDictionary;
4822 
4829 - (void)setInt32:(int32_t)value forKey:(NSString *)key;
4830 
4836 - (void)removeInt32ForKey:(NSString *)aKey;
4837 
4841 - (void)removeAll;
4842 
4843 @end
4844 
4845 #pragma mark - String -> UInt64
4846 
4853 @interface GPBStringUInt64Dictionary : NSObject <NSCopying>
4854 
4856 @property(nonatomic, readonly) NSUInteger count;
4857 
4867 - (instancetype)initWithUInt64s:(const uint64_t [__nullable])values
4868  forKeys:(const NSString * __nonnull GPB_UNSAFE_UNRETAINED [__nullable])keys
4869  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
4870 
4878 - (instancetype)initWithDictionary:(GPBStringUInt64Dictionary *)dictionary;
4879 
4887 - (instancetype)initWithCapacity:(NSUInteger)numItems;
4888 
4897 - (BOOL)getUInt64:(nullable uint64_t *)value forKey:(NSString *)key;
4898 
4907 - (void)enumerateKeysAndUInt64sUsingBlock:
4908  (void (NS_NOESCAPE ^)(NSString *key, uint64_t value, BOOL *stop))block;
4909 
4916 - (void)addEntriesFromDictionary:(GPBStringUInt64Dictionary *)otherDictionary;
4917 
4924 - (void)setUInt64:(uint64_t)value forKey:(NSString *)key;
4925 
4931 - (void)removeUInt64ForKey:(NSString *)aKey;
4932 
4936 - (void)removeAll;
4937 
4938 @end
4939 
4940 #pragma mark - String -> Int64
4941 
4948 @interface GPBStringInt64Dictionary : NSObject <NSCopying>
4949 
4951 @property(nonatomic, readonly) NSUInteger count;
4952 
4962 - (instancetype)initWithInt64s:(const int64_t [__nullable])values
4963  forKeys:(const NSString * __nonnull GPB_UNSAFE_UNRETAINED [__nullable])keys
4964  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
4965 
4973 - (instancetype)initWithDictionary:(GPBStringInt64Dictionary *)dictionary;
4974 
4982 - (instancetype)initWithCapacity:(NSUInteger)numItems;
4983 
4992 - (BOOL)getInt64:(nullable int64_t *)value forKey:(NSString *)key;
4993 
5002 - (void)enumerateKeysAndInt64sUsingBlock:
5003  (void (NS_NOESCAPE ^)(NSString *key, int64_t value, BOOL *stop))block;
5004 
5011 - (void)addEntriesFromDictionary:(GPBStringInt64Dictionary *)otherDictionary;
5012 
5019 - (void)setInt64:(int64_t)value forKey:(NSString *)key;
5020 
5026 - (void)removeInt64ForKey:(NSString *)aKey;
5027 
5031 - (void)removeAll;
5032 
5033 @end
5034 
5035 #pragma mark - String -> Bool
5036 
5043 @interface GPBStringBoolDictionary : NSObject <NSCopying>
5044 
5046 @property(nonatomic, readonly) NSUInteger count;
5047 
5057 - (instancetype)initWithBools:(const BOOL [__nullable])values
5058  forKeys:(const NSString * __nonnull GPB_UNSAFE_UNRETAINED [__nullable])keys
5059  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
5060 
5068 - (instancetype)initWithDictionary:(GPBStringBoolDictionary *)dictionary;
5069 
5077 - (instancetype)initWithCapacity:(NSUInteger)numItems;
5078 
5087 - (BOOL)getBool:(nullable BOOL *)value forKey:(NSString *)key;
5088 
5097 - (void)enumerateKeysAndBoolsUsingBlock:
5098  (void (NS_NOESCAPE ^)(NSString *key, BOOL value, BOOL *stop))block;
5099 
5106 - (void)addEntriesFromDictionary:(GPBStringBoolDictionary *)otherDictionary;
5107 
5114 - (void)setBool:(BOOL)value forKey:(NSString *)key;
5115 
5121 - (void)removeBoolForKey:(NSString *)aKey;
5122 
5126 - (void)removeAll;
5127 
5128 @end
5129 
5130 #pragma mark - String -> Float
5131 
5138 @interface GPBStringFloatDictionary : NSObject <NSCopying>
5139 
5141 @property(nonatomic, readonly) NSUInteger count;
5142 
5152 - (instancetype)initWithFloats:(const float [__nullable])values
5153  forKeys:(const NSString * __nonnull GPB_UNSAFE_UNRETAINED [__nullable])keys
5154  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
5155 
5163 - (instancetype)initWithDictionary:(GPBStringFloatDictionary *)dictionary;
5164 
5172 - (instancetype)initWithCapacity:(NSUInteger)numItems;
5173 
5182 - (BOOL)getFloat:(nullable float *)value forKey:(NSString *)key;
5183 
5192 - (void)enumerateKeysAndFloatsUsingBlock:
5193  (void (NS_NOESCAPE ^)(NSString *key, float value, BOOL *stop))block;
5194 
5201 - (void)addEntriesFromDictionary:(GPBStringFloatDictionary *)otherDictionary;
5202 
5209 - (void)setFloat:(float)value forKey:(NSString *)key;
5210 
5216 - (void)removeFloatForKey:(NSString *)aKey;
5217 
5221 - (void)removeAll;
5222 
5223 @end
5224 
5225 #pragma mark - String -> Double
5226 
5233 @interface GPBStringDoubleDictionary : NSObject <NSCopying>
5234 
5236 @property(nonatomic, readonly) NSUInteger count;
5237 
5247 - (instancetype)initWithDoubles:(const double [__nullable])values
5248  forKeys:(const NSString * __nonnull GPB_UNSAFE_UNRETAINED [__nullable])keys
5249  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
5250 
5258 - (instancetype)initWithDictionary:(GPBStringDoubleDictionary *)dictionary;
5259 
5267 - (instancetype)initWithCapacity:(NSUInteger)numItems;
5268 
5277 - (BOOL)getDouble:(nullable double *)value forKey:(NSString *)key;
5278 
5287 - (void)enumerateKeysAndDoublesUsingBlock:
5288  (void (NS_NOESCAPE ^)(NSString *key, double value, BOOL *stop))block;
5289 
5296 - (void)addEntriesFromDictionary:(GPBStringDoubleDictionary *)otherDictionary;
5297 
5304 - (void)setDouble:(double)value forKey:(NSString *)key;
5305 
5311 - (void)removeDoubleForKey:(NSString *)aKey;
5312 
5316 - (void)removeAll;
5317 
5318 @end
5319 
5320 #pragma mark - String -> Enum
5321 
5328 @interface GPBStringEnumDictionary : NSObject <NSCopying>
5329 
5331 @property(nonatomic, readonly) NSUInteger count;
5333 @property(nonatomic, readonly) GPBEnumValidationFunc validationFunc;
5334 
5342 - (instancetype)initWithValidationFunction:(nullable GPBEnumValidationFunc)func;
5343 
5354 - (instancetype)initWithValidationFunction:(nullable GPBEnumValidationFunc)func
5355  rawValues:(const int32_t [__nullable])values
5356  forKeys:(const NSString * __nonnull GPB_UNSAFE_UNRETAINED [__nullable])keys
5357  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
5358 
5368 - (instancetype)initWithDictionary:(GPBStringEnumDictionary *)dictionary;
5369 
5378 - (instancetype)initWithValidationFunction:(nullable GPBEnumValidationFunc)func
5379  capacity:(NSUInteger)numItems;
5380 
5381 // These will return kGPBUnrecognizedEnumeratorValue if the value for the key
5382 // is not a valid enumerator as defined by validationFunc. If the actual value is
5383 // desired, use "raw" version of the method.
5384 
5393 - (BOOL)getEnum:(nullable int32_t *)value forKey:(NSString *)key;
5394 
5403 - (void)enumerateKeysAndEnumsUsingBlock:
5404  (void (NS_NOESCAPE ^)(NSString *key, int32_t value, BOOL *stop))block;
5405 
5417 - (BOOL)getRawValue:(nullable int32_t *)rawValue forKey:(NSString *)key;
5418 
5430 - (void)enumerateKeysAndRawValuesUsingBlock:
5431  (void (NS_NOESCAPE ^)(NSString *key, int32_t rawValue, BOOL *stop))block;
5432 
5442 - (void)addRawEntriesFromDictionary:(GPBStringEnumDictionary *)otherDictionary;
5443 
5444 // If value is not a valid enumerator as defined by validationFunc, these
5445 // methods will assert in debug, and will log in release and assign the value
5446 // to the default value. Use the rawValue methods below to assign non enumerator
5447 // values.
5448 
5455 - (void)setEnum:(int32_t)value forKey:(NSString *)key;
5456 
5466 - (void)setRawValue:(int32_t)rawValue forKey:(NSString *)key;
5467 
5473 - (void)removeEnumForKey:(NSString *)aKey;
5474 
5478 - (void)removeAll;
5479 
5480 @end
5481 
5482 // clang-format on
5483 //%PDDM-EXPAND-END DECLARE_DICTIONARIES()
5484 
5485 NS_ASSUME_NONNULL_END
5486 
5487 //%PDDM-DEFINE DECLARE_DICTIONARIES()
5488 //%DICTIONARY_INTERFACES_FOR_POD_KEY(UInt32, uint32_t)
5489 //%DICTIONARY_INTERFACES_FOR_POD_KEY(Int32, int32_t)
5490 //%DICTIONARY_INTERFACES_FOR_POD_KEY(UInt64, uint64_t)
5491 //%DICTIONARY_INTERFACES_FOR_POD_KEY(Int64, int64_t)
5492 //%DICTIONARY_INTERFACES_FOR_POD_KEY(Bool, BOOL)
5493 //%DICTIONARY_POD_INTERFACES_FOR_KEY(String, NSString, *, OBJECT)
5494 //%PDDM-DEFINE DICTIONARY_INTERFACES_FOR_POD_KEY(KEY_NAME, KEY_TYPE)
5495 //%DICTIONARY_POD_INTERFACES_FOR_KEY(KEY_NAME, KEY_TYPE, , POD)
5496 //%DICTIONARY_POD_KEY_TO_OBJECT_INTERFACE(KEY_NAME, KEY_TYPE, Object, ObjectType)
5497 //%PDDM-DEFINE DICTIONARY_POD_INTERFACES_FOR_KEY(KEY_NAME, KEY_TYPE, KisP, KHELPER)
5498 //%DICTIONARY_KEY_TO_POD_INTERFACE(KEY_NAME, KEY_TYPE, KisP, KHELPER, UInt32, uint32_t)
5499 //%DICTIONARY_KEY_TO_POD_INTERFACE(KEY_NAME, KEY_TYPE, KisP, KHELPER, Int32, int32_t)
5500 //%DICTIONARY_KEY_TO_POD_INTERFACE(KEY_NAME, KEY_TYPE, KisP, KHELPER, UInt64, uint64_t)
5501 //%DICTIONARY_KEY_TO_POD_INTERFACE(KEY_NAME, KEY_TYPE, KisP, KHELPER, Int64, int64_t)
5502 //%DICTIONARY_KEY_TO_POD_INTERFACE(KEY_NAME, KEY_TYPE, KisP, KHELPER, Bool, BOOL)
5503 //%DICTIONARY_KEY_TO_POD_INTERFACE(KEY_NAME, KEY_TYPE, KisP, KHELPER, Float, float)
5504 //%DICTIONARY_KEY_TO_POD_INTERFACE(KEY_NAME, KEY_TYPE, KisP, KHELPER, Double, double)
5505 //%DICTIONARY_KEY_TO_ENUM_INTERFACE(KEY_NAME, KEY_TYPE, KisP, KHELPER, Enum, int32_t)
5506 //%PDDM-DEFINE DICTIONARY_KEY_TO_POD_INTERFACE(KEY_NAME, KEY_TYPE, KisP, KHELPER, VALUE_NAME, VALUE_TYPE)
5507 //%DICTIONARY_COMMON_INTERFACE(KEY_NAME, KEY_TYPE, KisP, KHELPER, VALUE_NAME, VALUE_TYPE, POD, VALUE_NAME, value)
5508 //%PDDM-DEFINE DICTIONARY_POD_KEY_TO_OBJECT_INTERFACE(KEY_NAME, KEY_TYPE, VALUE_NAME, VALUE_TYPE)
5509 //%DICTIONARY_COMMON_INTERFACE(KEY_NAME, KEY_TYPE, , POD, VALUE_NAME, VALUE_TYPE, OBJECT, Object, object)
5510 //%PDDM-DEFINE VALUE_FOR_KEY_POD(KEY_TYPE, VALUE_TYPE, VNAME)
5511 //%/**
5512 //% * Gets the value for the given key.
5513 //% *
5514 //% * @param value Pointer into which the value will be set, if found.
5515 //% * @param key Key under which the value is stored, if present.
5516 //% *
5517 //% * @return YES if the key was found and the value was copied, NO otherwise.
5518 //% **/
5519 //%- (BOOL)get##VNAME##:(nullable VALUE_TYPE *)value forKey:(KEY_TYPE)key;
5520 //%PDDM-DEFINE VALUE_FOR_KEY_OBJECT(KEY_TYPE, VALUE_TYPE, VNAME)
5521 //%/**
5522 //% * Fetches the object stored under the given key.
5523 //% *
5524 //% * @param key Key under which the value is stored, if present.
5525 //% *
5526 //% * @return The object if found, nil otherwise.
5527 //% **/
5528 //%- (VALUE_TYPE)objectForKey:(KEY_TYPE)key;
5529 //%PDDM-DEFINE VALUE_FOR_KEY_Enum(KEY_TYPE, VALUE_TYPE, VNAME)
5530 //%VALUE_FOR_KEY_POD(KEY_TYPE, VALUE_TYPE, VNAME)
5531 //%PDDM-DEFINE ARRAY_ARG_MODIFIERPOD()
5532 // Nothing
5533 //%PDDM-DEFINE ARRAY_ARG_MODIFIEREnum()
5534 // Nothing
5535 //%PDDM-DEFINE ARRAY_ARG_MODIFIEROBJECT()
5536 //%__nonnull GPB_UNSAFE_UNRETAINED ##
5537 //%PDDM-DEFINE DICTIONARY_CLASS_DECLPOD(KEY_NAME, VALUE_NAME, VALUE_TYPE)
5538 //%GPB##KEY_NAME##VALUE_NAME##Dictionary
5539 //%PDDM-DEFINE DICTIONARY_CLASS_DECLEnum(KEY_NAME, VALUE_NAME, VALUE_TYPE)
5540 //%GPB##KEY_NAME##VALUE_NAME##Dictionary
5541 //%PDDM-DEFINE DICTIONARY_CLASS_DECLOBJECT(KEY_NAME, VALUE_NAME, VALUE_TYPE)
5542 //%GPB##KEY_NAME##VALUE_NAME##Dictionary<__covariant VALUE_TYPE>
5543 //%PDDM-DEFINE DICTIONARY_COMMON_INTERFACE(KEY_NAME, KEY_TYPE, KisP, KHELPER, VALUE_NAME, VALUE_TYPE, VHELPER, VNAME, VNAME_VAR)
5544 //%#pragma mark - KEY_NAME -> VALUE_NAME
5545 //%
5546 //%/**
5547 //% * Class used for map fields of <##KEY_TYPE##, ##VALUE_TYPE##>
5548 //% * values. This performs better than boxing into NSNumbers in NSDictionaries.
5549 //% *
5550 //% * @note This class is not meant to be subclassed.
5551 //% **/
5552 //%@interface DICTIONARY_CLASS_DECL##VHELPER(KEY_NAME, VALUE_NAME, VALUE_TYPE) : NSObject <NSCopying>
5553 //%
5554 //%/** Number of entries stored in this dictionary. */
5555 //%@property(nonatomic, readonly) NSUInteger count;
5556 //%
5557 //%/**
5558 //% * Initializes this dictionary, copying the given values and keys.
5559 //% *
5560 //% * @param ##VNAME_VAR##s The values to be placed in this dictionary.
5561 //% * @param keys ##VNAME_VAR$S## The keys under which to store the values.
5562 //% * @param count ##VNAME_VAR$S## The number of elements to copy into the dictionary.
5563 //% *
5564 //% * @return A newly initialized dictionary with a copy of the values and keys.
5565 //% **/
5566 //%- (instancetype)initWith##VNAME##s:(const VALUE_TYPE ARRAY_ARG_MODIFIER##VHELPER()[__nullable])##VNAME_VAR##s
5567 //% ##VNAME$S## forKeys:(const KEY_TYPE##KisP$S##KisP ARRAY_ARG_MODIFIER##KHELPER()[__nullable])keys
5568 //% ##VNAME$S## count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
5569 //%
5570 //%/**
5571 //% * Initializes this dictionary, copying the entries from the given dictionary.
5572 //% *
5573 //% * @param dictionary Dictionary containing the entries to add to this dictionary.
5574 //% *
5575 //% * @return A newly initialized dictionary with the entries of the given dictionary.
5576 //% **/
5577 //%- (instancetype)initWithDictionary:(GPB##KEY_NAME##VALUE_NAME##Dictionary *)dictionary;
5578 //%
5579 //%/**
5580 //% * Initializes this dictionary with the requested capacity.
5581 //% *
5582 //% * @param numItems Number of items needed for this dictionary.
5583 //% *
5584 //% * @return A newly initialized dictionary with the requested capacity.
5585 //% **/
5586 //%- (instancetype)initWithCapacity:(NSUInteger)numItems;
5587 //%
5588 //%DICTIONARY_IMMUTABLE_INTERFACE(KEY_NAME, KEY_TYPE, KisP, VALUE_NAME, VALUE_TYPE, VHELPER, VNAME, VNAME_VAR)
5589 //%
5590 //%/**
5591 //% * Adds the keys and values from another dictionary.
5592 //% *
5593 //% * @param otherDictionary Dictionary containing entries to be added to this
5594 //% * dictionary.
5595 //% **/
5596 //%- (void)addEntriesFromDictionary:(GPB##KEY_NAME##VALUE_NAME##Dictionary *)otherDictionary;
5597 //%
5598 //%DICTIONARY_MUTABLE_INTERFACE(KEY_NAME, KEY_TYPE, KisP, VALUE_NAME, VALUE_TYPE, VHELPER, VNAME, VNAME_VAR)
5599 //%
5600 //%@end
5601 //%
5602 
5603 //%PDDM-DEFINE DICTIONARY_KEY_TO_ENUM_INTERFACE(KEY_NAME, KEY_TYPE, KisP, KHELPER, VALUE_NAME, VALUE_TYPE)
5604 //%DICTIONARY_KEY_TO_ENUM_INTERFACE2(KEY_NAME, KEY_TYPE, KisP, KHELPER, VALUE_NAME, VALUE_TYPE, Enum)
5605 //%PDDM-DEFINE DICTIONARY_KEY_TO_ENUM_INTERFACE2(KEY_NAME, KEY_TYPE, KisP, KHELPER, VALUE_NAME, VALUE_TYPE, VHELPER)
5606 //%#pragma mark - KEY_NAME -> VALUE_NAME
5607 //%
5608 //%/**
5609 //% * Class used for map fields of <##KEY_TYPE##, ##VALUE_TYPE##>
5610 //% * values. This performs better than boxing into NSNumbers in NSDictionaries.
5611 //% *
5612 //% * @note This class is not meant to be subclassed.
5613 //% **/
5614 //%@interface GPB##KEY_NAME##VALUE_NAME##Dictionary : NSObject <NSCopying>
5615 //%
5616 //%/** Number of entries stored in this dictionary. */
5617 //%@property(nonatomic, readonly) NSUInteger count;
5618 //%/** The validation function to check if the enums are valid. */
5619 //%@property(nonatomic, readonly) GPBEnumValidationFunc validationFunc;
5620 //%
5621 //%/**
5622 //% * Initializes a dictionary with the given validation function.
5623 //% *
5624 //% * @param func The enum validation function for the dictionary.
5625 //% *
5626 //% * @return A newly initialized dictionary.
5627 //% **/
5628 //%- (instancetype)initWithValidationFunction:(nullable GPBEnumValidationFunc)func;
5629 //%
5630 //%/**
5631 //% * Initializes a dictionary with the entries given.
5632 //% *
5633 //% * @param func The enum validation function for the dictionary.
5634 //% * @param values The raw enum values values to be placed in the dictionary.
5635 //% * @param keys The keys under which to store the values.
5636 //% * @param count The number of entries to store in the dictionary.
5637 //% *
5638 //% * @return A newly initialized dictionary with the keys and values in it.
5639 //% **/
5640 //%- (instancetype)initWithValidationFunction:(nullable GPBEnumValidationFunc)func
5641 //% rawValues:(const VALUE_TYPE ARRAY_ARG_MODIFIER##VHELPER()[__nullable])values
5642 //% forKeys:(const KEY_TYPE##KisP$S##KisP ARRAY_ARG_MODIFIER##KHELPER()[__nullable])keys
5643 //% count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
5644 //%
5645 //%/**
5646 //% * Initializes a dictionary with the entries from the given.
5647 //% * dictionary.
5648 //% *
5649 //% * @param dictionary Dictionary containing the entries to add to the dictionary.
5650 //% *
5651 //% * @return A newly initialized dictionary with the entries from the given
5652 //% * dictionary in it.
5653 //% **/
5654 //%- (instancetype)initWithDictionary:(GPB##KEY_NAME##VALUE_NAME##Dictionary *)dictionary;
5655 //%
5656 //%/**
5657 //% * Initializes a dictionary with the given capacity.
5658 //% *
5659 //% * @param func The enum validation function for the dictionary.
5660 //% * @param numItems Capacity needed for the dictionary.
5661 //% *
5662 //% * @return A newly initialized dictionary with the given capacity.
5663 //% **/
5664 //%- (instancetype)initWithValidationFunction:(nullable GPBEnumValidationFunc)func
5665 //% capacity:(NSUInteger)numItems;
5666 //%
5667 //%// These will return kGPBUnrecognizedEnumeratorValue if the value for the key
5668 //%// is not a valid enumerator as defined by validationFunc. If the actual value is
5669 //%// desired, use "raw" version of the method.
5670 //%
5671 //%DICTIONARY_IMMUTABLE_INTERFACE(KEY_NAME, KEY_TYPE, KisP, VALUE_NAME, VALUE_TYPE, VHELPER, Enum, value)
5672 //%
5673 //%/**
5674 //% * Gets the raw enum value for the given key.
5675 //% *
5676 //% * @note This method bypass the validationFunc to enable the access of values that
5677 //% * were not known at the time the binary was compiled.
5678 //% *
5679 //% * @param rawValue Pointer into which the value will be set, if found.
5680 //% * @param key Key under which the value is stored, if present.
5681 //% *
5682 //% * @return YES if the key was found and the value was copied, NO otherwise.
5683 //% **/
5684 //%- (BOOL)getRawValue:(nullable VALUE_TYPE *)rawValue forKey:(KEY_TYPE##KisP$S##KisP)key;
5685 //%
5686 //%/**
5687 //% * Enumerates the keys and values on this dictionary with the given block.
5688 //% *
5689 //% * @note This method bypass the validationFunc to enable the access of values that
5690 //% * were not known at the time the binary was compiled.
5691 //% *
5692 //% * @param block The block to enumerate with.
5693 //% * **key**: The key for the current entry.
5694 //% * **rawValue**: The value for the current entry
5695 //% * **stop**: A pointer to a boolean that when set stops the enumeration.
5696 //% **/
5697 //%- (void)enumerateKeysAndRawValuesUsingBlock:
5698 //% (void (NS_NOESCAPE ^)(KEY_TYPE KisP##key, VALUE_TYPE rawValue, BOOL *stop))block;
5699 //%
5700 //%/**
5701 //% * Adds the keys and raw enum values from another dictionary.
5702 //% *
5703 //% * @note This method bypass the validationFunc to enable the setting of values that
5704 //% * were not known at the time the binary was compiled.
5705 //% *
5706 //% * @param otherDictionary Dictionary containing entries to be added to this
5707 //% * dictionary.
5708 //% **/
5709 //%- (void)addRawEntriesFromDictionary:(GPB##KEY_NAME##VALUE_NAME##Dictionary *)otherDictionary;
5710 //%
5711 //%// If value is not a valid enumerator as defined by validationFunc, these
5712 //%// methods will assert in debug, and will log in release and assign the value
5713 //%// to the default value. Use the rawValue methods below to assign non enumerator
5714 //%// values.
5715 //%
5716 //%DICTIONARY_MUTABLE_INTERFACE(KEY_NAME, KEY_TYPE, KisP, VALUE_NAME, VALUE_TYPE, VHELPER, Enum, value)
5717 //%
5718 //%@end
5719 //%
5720 
5721 //%PDDM-DEFINE DICTIONARY_IMMUTABLE_INTERFACE(KEY_NAME, KEY_TYPE, KisP, VALUE_NAME, VALUE_TYPE, VHELPER, VNAME, VNAME_VAR)
5722 //%VALUE_FOR_KEY_##VHELPER(KEY_TYPE##KisP$S##KisP, VALUE_TYPE, VNAME)
5723 //%
5724 //%/**
5725 //% * Enumerates the keys and values on this dictionary with the given block.
5726 //% *
5727 //% * @param block The block to enumerate with.
5728 //% * **key**: ##VNAME_VAR$S## The key for the current entry.
5729 //% * **VNAME_VAR**: The value for the current entry
5730 //% * **stop**: ##VNAME_VAR$S## A pointer to a boolean that when set stops the enumeration.
5731 //% **/
5732 //%- (void)enumerateKeysAnd##VNAME##sUsingBlock:
5733 //% (void (NS_NOESCAPE ^)(KEY_TYPE KisP##key, VALUE_TYPE VNAME_VAR, BOOL *stop))block;
5734 
5735 //%PDDM-DEFINE DICTIONARY_MUTABLE_INTERFACE(KEY_NAME, KEY_TYPE, KisP, VALUE_NAME, VALUE_TYPE, VHELPER, VNAME, VNAME_VAR)
5736 //%/**
5737 //% * Sets the value for the given key.
5738 //% *
5739 //% * @param ##VNAME_VAR The value to set.
5740 //% * @param key ##VNAME_VAR$S## The key under which to store the value.
5741 //% **/
5742 //%- (void)set##VNAME##:(VALUE_TYPE)##VNAME_VAR forKey:(KEY_TYPE##KisP$S##KisP)key;
5743 //%DICTIONARY_EXTRA_MUTABLE_METHODS_##VHELPER(KEY_NAME, KEY_TYPE, KisP, VALUE_NAME, VALUE_TYPE)
5744 //%/**
5745 //% * Removes the entry for the given key.
5746 //% *
5747 //% * @param aKey Key to be removed from this dictionary.
5748 //% **/
5749 //%- (void)remove##VNAME##ForKey:(KEY_TYPE##KisP$S##KisP)aKey;
5750 //%
5751 //%/**
5752 //% * Removes all entries in this dictionary.
5753 //% **/
5754 //%- (void)removeAll;
5755 
5756 //%PDDM-DEFINE DICTIONARY_EXTRA_MUTABLE_METHODS_POD(KEY_NAME, KEY_TYPE, KisP, VALUE_NAME, VALUE_TYPE)
5757 // Empty
5758 //%PDDM-DEFINE DICTIONARY_EXTRA_MUTABLE_METHODS_OBJECT(KEY_NAME, KEY_TYPE, KisP, VALUE_NAME, VALUE_TYPE)
5759 // Empty
5760 //%PDDM-DEFINE DICTIONARY_EXTRA_MUTABLE_METHODS_Enum(KEY_NAME, KEY_TYPE, KisP, VALUE_NAME, VALUE_TYPE)
5761 //%
5762 //%/**
5763 //% * Sets the raw enum value for the given key.
5764 //% *
5765 //% * @note This method bypass the validationFunc to enable the setting of values that
5766 //% * were not known at the time the binary was compiled.
5767 //% *
5768 //% * @param rawValue The raw enum value to set.
5769 //% * @param key The key under which to store the raw enum value.
5770 //% **/
5771 //%- (void)setRawValue:(VALUE_TYPE)rawValue forKey:(KEY_TYPE##KisP$S##KisP)key;
5772 //%
GPBBoolUInt64Dictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:3931
GPBUInt64EnumDictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:2564
GPBUInt32EnumDictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:722
GPBUInt32Int64Dictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:342
GPBBoolInt64Dictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:4026
GPBStringInt64Dictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:4947
-[GPBUInt32UInt32Dictionary removeAll]
void removeAll()
GPBUInt32FloatDictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:532
GPBUInt64Int64Dictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:2184
const
#define const
Definition: bloaty/third_party/zlib/zconf.h:230
GPBBoolBoolDictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:4121
GPBUInt64FloatDictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:2374
GPBStringInt32Dictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:4757
GPBInt64FloatDictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:3295
GPBUInt32UInt32Dictionary::count
NSUInteger count
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:60
GPBStringDoubleDictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:5232
GPBStringUInt64Dictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:4852
GPBRuntimeTypes.h
GPBInt32EnumDictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:1643
GPBInt64BoolDictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:3200
GPBStringEnumDictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:5327
GPBInt32ObjectDictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:1805
BOOL
int BOOL
Definition: undname.c:46
GPBInt64UInt64Dictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:3010
GPBInt32UInt32Dictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:978
GPBInt32FloatDictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:1453
GPBBoolDoubleDictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:4311
uint32_t
unsigned int uint32_t
Definition: stdint-msvc2008.h:80
GPBUInt32Int32Dictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:152
GPBInt64ObjectDictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:3647
int64_t
signed __int64 int64_t
Definition: stdint-msvc2008.h:89
GPBInt64Int64Dictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:3105
GPBInt32DoubleDictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:1548
GPBUInt64Int32Dictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:1994
GPBUInt64DoubleDictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:2469
uint64_t
unsigned __int64 uint64_t
Definition: stdint-msvc2008.h:90
GPBInt64EnumDictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:3485
GPBUInt64UInt64Dictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:2089
GPBUInt32UInt32Dictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:57
GPBBoolEnumDictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:4406
GPBInt32Int64Dictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:1263
GPBStringUInt32Dictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:4662
value
const char * value
Definition: hpack_parser_table.cc:165
GPBUInt64ObjectDictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:2726
GPBStringBoolDictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:5042
GPBBoolInt32Dictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:3836
key
const char * key
Definition: hpack_parser_table.cc:164
GPBUInt32ObjectDictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:884
GPBStringFloatDictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:5137
GPBInt64Int32Dictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:2915
GPBEnumValidationFunc
BOOL(* GPBEnumValidationFunc)(int32_t)
Definition: bloaty/third_party/protobuf/objectivec/GPBRuntimeTypes.h:42
GPBBoolUInt32Dictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:3741
GPBUInt64BoolDictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:2279
GPBInt64DoubleDictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:3390
GPBUInt32BoolDictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:437
GPBUInt64UInt32Dictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:1899
GPBUInt32UInt64Dictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:247
GPBBoolObjectDictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:4568
GPBInt32Int32Dictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:1073
stop
static const char stop[]
Definition: benchmark-async-pummel.c:35
GPBInt64UInt32Dictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:2820
GPBInt32UInt64Dictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:1168
GPB_UNSAFE_UNRETAINED
#define GPB_UNSAFE_UNRETAINED
Definition: bloaty/third_party/protobuf/objectivec/GPBBootstrap.h:90
int32_t
signed int int32_t
Definition: stdint-msvc2008.h:77
GPBBoolFloatDictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:4216
GPBInt32BoolDictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:1358
GPBUInt32DoubleDictionary
Definition: bloaty/third_party/protobuf/objectivec/GPBDictionary.h:627


grpc
Author(s):
autogenerated on Fri May 16 2025 02:58:44