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 
49 #pragma mark - UInt32 -> UInt32
50 
57 @interface GPBUInt32UInt32Dictionary : NSObject <NSCopying>
58 
60 @property(nonatomic, readonly) NSUInteger count;
61 
71 - (instancetype)initWithUInt32s:(const uint32_t [__nullable])values
72  forKeys:(const uint32_t [__nullable])keys
73  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
74 
82 - (instancetype)initWithDictionary:(GPBUInt32UInt32Dictionary *)dictionary;
83 
91 - (instancetype)initWithCapacity:(NSUInteger)numItems;
92 
101 - (BOOL)getUInt32:(nullable uint32_t *)value forKey:(uint32_t)key;
102 
111 - (void)enumerateKeysAndUInt32sUsingBlock:
112  (void (NS_NOESCAPE ^)(uint32_t key, uint32_t value, BOOL *stop))block;
113 
120 - (void)addEntriesFromDictionary:(GPBUInt32UInt32Dictionary *)otherDictionary;
121 
128 - (void)setUInt32:(uint32_t)value forKey:(uint32_t)key;
129 
135 - (void)removeUInt32ForKey:(uint32_t)aKey;
136 
140 - (void)removeAll;
141 
142 @end
143 
144 #pragma mark - UInt32 -> Int32
145 
152 @interface GPBUInt32Int32Dictionary : NSObject <NSCopying>
153 
155 @property(nonatomic, readonly) NSUInteger count;
156 
166 - (instancetype)initWithInt32s:(const int32_t [__nullable])values
167  forKeys:(const uint32_t [__nullable])keys
168  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
169 
177 - (instancetype)initWithDictionary:(GPBUInt32Int32Dictionary *)dictionary;
178 
186 - (instancetype)initWithCapacity:(NSUInteger)numItems;
187 
196 - (BOOL)getInt32:(nullable int32_t *)value forKey:(uint32_t)key;
197 
206 - (void)enumerateKeysAndInt32sUsingBlock:
207  (void (NS_NOESCAPE ^)(uint32_t key, int32_t value, BOOL *stop))block;
208 
215 - (void)addEntriesFromDictionary:(GPBUInt32Int32Dictionary *)otherDictionary;
216 
223 - (void)setInt32:(int32_t)value forKey:(uint32_t)key;
224 
230 - (void)removeInt32ForKey:(uint32_t)aKey;
231 
235 - (void)removeAll;
236 
237 @end
238 
239 #pragma mark - UInt32 -> UInt64
240 
247 @interface GPBUInt32UInt64Dictionary : NSObject <NSCopying>
248 
250 @property(nonatomic, readonly) NSUInteger count;
251 
261 - (instancetype)initWithUInt64s:(const uint64_t [__nullable])values
262  forKeys:(const uint32_t [__nullable])keys
263  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
264 
272 - (instancetype)initWithDictionary:(GPBUInt32UInt64Dictionary *)dictionary;
273 
281 - (instancetype)initWithCapacity:(NSUInteger)numItems;
282 
291 - (BOOL)getUInt64:(nullable uint64_t *)value forKey:(uint32_t)key;
292 
301 - (void)enumerateKeysAndUInt64sUsingBlock:
302  (void (NS_NOESCAPE ^)(uint32_t key, uint64_t value, BOOL *stop))block;
303 
310 - (void)addEntriesFromDictionary:(GPBUInt32UInt64Dictionary *)otherDictionary;
311 
318 - (void)setUInt64:(uint64_t)value forKey:(uint32_t)key;
319 
325 - (void)removeUInt64ForKey:(uint32_t)aKey;
326 
330 - (void)removeAll;
331 
332 @end
333 
334 #pragma mark - UInt32 -> Int64
335 
342 @interface GPBUInt32Int64Dictionary : NSObject <NSCopying>
343 
345 @property(nonatomic, readonly) NSUInteger count;
346 
356 - (instancetype)initWithInt64s:(const int64_t [__nullable])values
357  forKeys:(const uint32_t [__nullable])keys
358  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
359 
367 - (instancetype)initWithDictionary:(GPBUInt32Int64Dictionary *)dictionary;
368 
376 - (instancetype)initWithCapacity:(NSUInteger)numItems;
377 
386 - (BOOL)getInt64:(nullable int64_t *)value forKey:(uint32_t)key;
387 
396 - (void)enumerateKeysAndInt64sUsingBlock:
397  (void (NS_NOESCAPE ^)(uint32_t key, int64_t value, BOOL *stop))block;
398 
405 - (void)addEntriesFromDictionary:(GPBUInt32Int64Dictionary *)otherDictionary;
406 
413 - (void)setInt64:(int64_t)value forKey:(uint32_t)key;
414 
420 - (void)removeInt64ForKey:(uint32_t)aKey;
421 
425 - (void)removeAll;
426 
427 @end
428 
429 #pragma mark - UInt32 -> Bool
430 
437 @interface GPBUInt32BoolDictionary : NSObject <NSCopying>
438 
440 @property(nonatomic, readonly) NSUInteger count;
441 
451 - (instancetype)initWithBools:(const BOOL [__nullable])values
452  forKeys:(const uint32_t [__nullable])keys
453  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
454 
462 - (instancetype)initWithDictionary:(GPBUInt32BoolDictionary *)dictionary;
463 
471 - (instancetype)initWithCapacity:(NSUInteger)numItems;
472 
481 - (BOOL)getBool:(nullable BOOL *)value forKey:(uint32_t)key;
482 
491 - (void)enumerateKeysAndBoolsUsingBlock:
492  (void (NS_NOESCAPE ^)(uint32_t key, BOOL value, BOOL *stop))block;
493 
500 - (void)addEntriesFromDictionary:(GPBUInt32BoolDictionary *)otherDictionary;
501 
508 - (void)setBool:(BOOL)value forKey:(uint32_t)key;
509 
515 - (void)removeBoolForKey:(uint32_t)aKey;
516 
520 - (void)removeAll;
521 
522 @end
523 
524 #pragma mark - UInt32 -> Float
525 
532 @interface GPBUInt32FloatDictionary : NSObject <NSCopying>
533 
535 @property(nonatomic, readonly) NSUInteger count;
536 
546 - (instancetype)initWithFloats:(const float [__nullable])values
547  forKeys:(const uint32_t [__nullable])keys
548  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
549 
557 - (instancetype)initWithDictionary:(GPBUInt32FloatDictionary *)dictionary;
558 
566 - (instancetype)initWithCapacity:(NSUInteger)numItems;
567 
576 - (BOOL)getFloat:(nullable float *)value forKey:(uint32_t)key;
577 
586 - (void)enumerateKeysAndFloatsUsingBlock:
587  (void (NS_NOESCAPE ^)(uint32_t key, float value, BOOL *stop))block;
588 
595 - (void)addEntriesFromDictionary:(GPBUInt32FloatDictionary *)otherDictionary;
596 
603 - (void)setFloat:(float)value forKey:(uint32_t)key;
604 
610 - (void)removeFloatForKey:(uint32_t)aKey;
611 
615 - (void)removeAll;
616 
617 @end
618 
619 #pragma mark - UInt32 -> Double
620 
627 @interface GPBUInt32DoubleDictionary : NSObject <NSCopying>
628 
630 @property(nonatomic, readonly) NSUInteger count;
631 
641 - (instancetype)initWithDoubles:(const double [__nullable])values
642  forKeys:(const uint32_t [__nullable])keys
643  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
644 
652 - (instancetype)initWithDictionary:(GPBUInt32DoubleDictionary *)dictionary;
653 
661 - (instancetype)initWithCapacity:(NSUInteger)numItems;
662 
671 - (BOOL)getDouble:(nullable double *)value forKey:(uint32_t)key;
672 
681 - (void)enumerateKeysAndDoublesUsingBlock:
682  (void (NS_NOESCAPE ^)(uint32_t key, double value, BOOL *stop))block;
683 
690 - (void)addEntriesFromDictionary:(GPBUInt32DoubleDictionary *)otherDictionary;
691 
698 - (void)setDouble:(double)value forKey:(uint32_t)key;
699 
705 - (void)removeDoubleForKey:(uint32_t)aKey;
706 
710 - (void)removeAll;
711 
712 @end
713 
714 #pragma mark - UInt32 -> Enum
715 
722 @interface GPBUInt32EnumDictionary : NSObject <NSCopying>
723 
725 @property(nonatomic, readonly) NSUInteger count;
727 @property(nonatomic, readonly) GPBEnumValidationFunc validationFunc;
728 
736 - (instancetype)initWithValidationFunction:(nullable GPBEnumValidationFunc)func;
737 
748 - (instancetype)initWithValidationFunction:(nullable GPBEnumValidationFunc)func
749  rawValues:(const int32_t [__nullable])values
750  forKeys:(const uint32_t [__nullable])keys
751  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
752 
762 - (instancetype)initWithDictionary:(GPBUInt32EnumDictionary *)dictionary;
763 
772 - (instancetype)initWithValidationFunction:(nullable GPBEnumValidationFunc)func
773  capacity:(NSUInteger)numItems;
774 
775 // These will return kGPBUnrecognizedEnumeratorValue if the value for the key
776 // is not a valid enumerator as defined by validationFunc. If the actual value is
777 // desired, use "raw" version of the method.
778 
787 - (BOOL)getEnum:(nullable int32_t *)value forKey:(uint32_t)key;
788 
797 - (void)enumerateKeysAndEnumsUsingBlock:
798  (void (NS_NOESCAPE ^)(uint32_t key, int32_t value, BOOL *stop))block;
799 
811 - (BOOL)getRawValue:(nullable int32_t *)rawValue forKey:(uint32_t)key;
812 
824 - (void)enumerateKeysAndRawValuesUsingBlock:
825  (void (NS_NOESCAPE ^)(uint32_t key, int32_t rawValue, BOOL *stop))block;
826 
836 - (void)addRawEntriesFromDictionary:(GPBUInt32EnumDictionary *)otherDictionary;
837 
838 // If value is not a valid enumerator as defined by validationFunc, these
839 // methods will assert in debug, and will log in release and assign the value
840 // to the default value. Use the rawValue methods below to assign non enumerator
841 // values.
842 
849 - (void)setEnum:(int32_t)value forKey:(uint32_t)key;
850 
860 - (void)setRawValue:(int32_t)rawValue forKey:(uint32_t)key;
861 
867 - (void)removeEnumForKey:(uint32_t)aKey;
868 
872 - (void)removeAll;
873 
874 @end
875 
876 #pragma mark - UInt32 -> Object
877 
884 @interface GPBUInt32ObjectDictionary<__covariant ObjectType> : NSObject <NSCopying>
885 
887 @property(nonatomic, readonly) NSUInteger count;
888 
898 - (instancetype)initWithObjects:(const ObjectType __nonnull GPB_UNSAFE_UNRETAINED [__nullable])objects
899  forKeys:(const uint32_t [__nullable])keys
900  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
901 
909 - (instancetype)initWithDictionary:(GPBUInt32ObjectDictionary *)dictionary;
910 
918 - (instancetype)initWithCapacity:(NSUInteger)numItems;
919 
927 - (ObjectType)objectForKey:(uint32_t)key;
928 
937 - (void)enumerateKeysAndObjectsUsingBlock:
938  (void (NS_NOESCAPE ^)(uint32_t key, ObjectType object, BOOL *stop))block;
939 
946 - (void)addEntriesFromDictionary:(GPBUInt32ObjectDictionary *)otherDictionary;
947 
954 - (void)setObject:(ObjectType)object forKey:(uint32_t)key;
955 
961 - (void)removeObjectForKey:(uint32_t)aKey;
962 
966 - (void)removeAll;
967 
968 @end
969 
970 #pragma mark - Int32 -> UInt32
971 
978 @interface GPBInt32UInt32Dictionary : NSObject <NSCopying>
979 
981 @property(nonatomic, readonly) NSUInteger count;
982 
992 - (instancetype)initWithUInt32s:(const uint32_t [__nullable])values
993  forKeys:(const int32_t [__nullable])keys
994  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
995 
1003 - (instancetype)initWithDictionary:(GPBInt32UInt32Dictionary *)dictionary;
1004 
1012 - (instancetype)initWithCapacity:(NSUInteger)numItems;
1013 
1022 - (BOOL)getUInt32:(nullable uint32_t *)value forKey:(int32_t)key;
1023 
1032 - (void)enumerateKeysAndUInt32sUsingBlock:
1033  (void (NS_NOESCAPE ^)(int32_t key, uint32_t value, BOOL *stop))block;
1034 
1041 - (void)addEntriesFromDictionary:(GPBInt32UInt32Dictionary *)otherDictionary;
1042 
1049 - (void)setUInt32:(uint32_t)value forKey:(int32_t)key;
1050 
1056 - (void)removeUInt32ForKey:(int32_t)aKey;
1057 
1061 - (void)removeAll;
1062 
1063 @end
1064 
1065 #pragma mark - Int32 -> Int32
1066 
1073 @interface GPBInt32Int32Dictionary : NSObject <NSCopying>
1074 
1076 @property(nonatomic, readonly) NSUInteger count;
1077 
1087 - (instancetype)initWithInt32s:(const int32_t [__nullable])values
1088  forKeys:(const int32_t [__nullable])keys
1089  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
1090 
1098 - (instancetype)initWithDictionary:(GPBInt32Int32Dictionary *)dictionary;
1099 
1107 - (instancetype)initWithCapacity:(NSUInteger)numItems;
1108 
1117 - (BOOL)getInt32:(nullable int32_t *)value forKey:(int32_t)key;
1118 
1127 - (void)enumerateKeysAndInt32sUsingBlock:
1128  (void (NS_NOESCAPE ^)(int32_t key, int32_t value, BOOL *stop))block;
1129 
1136 - (void)addEntriesFromDictionary:(GPBInt32Int32Dictionary *)otherDictionary;
1137 
1144 - (void)setInt32:(int32_t)value forKey:(int32_t)key;
1145 
1151 - (void)removeInt32ForKey:(int32_t)aKey;
1152 
1156 - (void)removeAll;
1157 
1158 @end
1159 
1160 #pragma mark - Int32 -> UInt64
1161 
1168 @interface GPBInt32UInt64Dictionary : NSObject <NSCopying>
1169 
1171 @property(nonatomic, readonly) NSUInteger count;
1172 
1182 - (instancetype)initWithUInt64s:(const uint64_t [__nullable])values
1183  forKeys:(const int32_t [__nullable])keys
1184  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
1185 
1193 - (instancetype)initWithDictionary:(GPBInt32UInt64Dictionary *)dictionary;
1194 
1202 - (instancetype)initWithCapacity:(NSUInteger)numItems;
1203 
1212 - (BOOL)getUInt64:(nullable uint64_t *)value forKey:(int32_t)key;
1213 
1222 - (void)enumerateKeysAndUInt64sUsingBlock:
1223  (void (NS_NOESCAPE ^)(int32_t key, uint64_t value, BOOL *stop))block;
1224 
1231 - (void)addEntriesFromDictionary:(GPBInt32UInt64Dictionary *)otherDictionary;
1232 
1239 - (void)setUInt64:(uint64_t)value forKey:(int32_t)key;
1240 
1246 - (void)removeUInt64ForKey:(int32_t)aKey;
1247 
1251 - (void)removeAll;
1252 
1253 @end
1254 
1255 #pragma mark - Int32 -> Int64
1256 
1263 @interface GPBInt32Int64Dictionary : NSObject <NSCopying>
1264 
1266 @property(nonatomic, readonly) NSUInteger count;
1267 
1277 - (instancetype)initWithInt64s:(const int64_t [__nullable])values
1278  forKeys:(const int32_t [__nullable])keys
1279  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
1280 
1288 - (instancetype)initWithDictionary:(GPBInt32Int64Dictionary *)dictionary;
1289 
1297 - (instancetype)initWithCapacity:(NSUInteger)numItems;
1298 
1307 - (BOOL)getInt64:(nullable int64_t *)value forKey:(int32_t)key;
1308 
1317 - (void)enumerateKeysAndInt64sUsingBlock:
1318  (void (NS_NOESCAPE ^)(int32_t key, int64_t value, BOOL *stop))block;
1319 
1326 - (void)addEntriesFromDictionary:(GPBInt32Int64Dictionary *)otherDictionary;
1327 
1334 - (void)setInt64:(int64_t)value forKey:(int32_t)key;
1335 
1341 - (void)removeInt64ForKey:(int32_t)aKey;
1342 
1346 - (void)removeAll;
1347 
1348 @end
1349 
1350 #pragma mark - Int32 -> Bool
1351 
1358 @interface GPBInt32BoolDictionary : NSObject <NSCopying>
1359 
1361 @property(nonatomic, readonly) NSUInteger count;
1362 
1372 - (instancetype)initWithBools:(const BOOL [__nullable])values
1373  forKeys:(const int32_t [__nullable])keys
1374  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
1375 
1383 - (instancetype)initWithDictionary:(GPBInt32BoolDictionary *)dictionary;
1384 
1392 - (instancetype)initWithCapacity:(NSUInteger)numItems;
1393 
1402 - (BOOL)getBool:(nullable BOOL *)value forKey:(int32_t)key;
1403 
1412 - (void)enumerateKeysAndBoolsUsingBlock:
1413  (void (NS_NOESCAPE ^)(int32_t key, BOOL value, BOOL *stop))block;
1414 
1421 - (void)addEntriesFromDictionary:(GPBInt32BoolDictionary *)otherDictionary;
1422 
1429 - (void)setBool:(BOOL)value forKey:(int32_t)key;
1430 
1436 - (void)removeBoolForKey:(int32_t)aKey;
1437 
1441 - (void)removeAll;
1442 
1443 @end
1444 
1445 #pragma mark - Int32 -> Float
1446 
1453 @interface GPBInt32FloatDictionary : NSObject <NSCopying>
1454 
1456 @property(nonatomic, readonly) NSUInteger count;
1457 
1467 - (instancetype)initWithFloats:(const float [__nullable])values
1468  forKeys:(const int32_t [__nullable])keys
1469  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
1470 
1478 - (instancetype)initWithDictionary:(GPBInt32FloatDictionary *)dictionary;
1479 
1487 - (instancetype)initWithCapacity:(NSUInteger)numItems;
1488 
1497 - (BOOL)getFloat:(nullable float *)value forKey:(int32_t)key;
1498 
1507 - (void)enumerateKeysAndFloatsUsingBlock:
1508  (void (NS_NOESCAPE ^)(int32_t key, float value, BOOL *stop))block;
1509 
1516 - (void)addEntriesFromDictionary:(GPBInt32FloatDictionary *)otherDictionary;
1517 
1524 - (void)setFloat:(float)value forKey:(int32_t)key;
1525 
1531 - (void)removeFloatForKey:(int32_t)aKey;
1532 
1536 - (void)removeAll;
1537 
1538 @end
1539 
1540 #pragma mark - Int32 -> Double
1541 
1548 @interface GPBInt32DoubleDictionary : NSObject <NSCopying>
1549 
1551 @property(nonatomic, readonly) NSUInteger count;
1552 
1562 - (instancetype)initWithDoubles:(const double [__nullable])values
1563  forKeys:(const int32_t [__nullable])keys
1564  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
1565 
1573 - (instancetype)initWithDictionary:(GPBInt32DoubleDictionary *)dictionary;
1574 
1582 - (instancetype)initWithCapacity:(NSUInteger)numItems;
1583 
1592 - (BOOL)getDouble:(nullable double *)value forKey:(int32_t)key;
1593 
1602 - (void)enumerateKeysAndDoublesUsingBlock:
1603  (void (NS_NOESCAPE ^)(int32_t key, double value, BOOL *stop))block;
1604 
1611 - (void)addEntriesFromDictionary:(GPBInt32DoubleDictionary *)otherDictionary;
1612 
1619 - (void)setDouble:(double)value forKey:(int32_t)key;
1620 
1626 - (void)removeDoubleForKey:(int32_t)aKey;
1627 
1631 - (void)removeAll;
1632 
1633 @end
1634 
1635 #pragma mark - Int32 -> Enum
1636 
1643 @interface GPBInt32EnumDictionary : NSObject <NSCopying>
1644 
1646 @property(nonatomic, readonly) NSUInteger count;
1648 @property(nonatomic, readonly) GPBEnumValidationFunc validationFunc;
1649 
1657 - (instancetype)initWithValidationFunction:(nullable GPBEnumValidationFunc)func;
1658 
1669 - (instancetype)initWithValidationFunction:(nullable GPBEnumValidationFunc)func
1670  rawValues:(const int32_t [__nullable])values
1671  forKeys:(const int32_t [__nullable])keys
1672  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
1673 
1683 - (instancetype)initWithDictionary:(GPBInt32EnumDictionary *)dictionary;
1684 
1693 - (instancetype)initWithValidationFunction:(nullable GPBEnumValidationFunc)func
1694  capacity:(NSUInteger)numItems;
1695 
1696 // These will return kGPBUnrecognizedEnumeratorValue if the value for the key
1697 // is not a valid enumerator as defined by validationFunc. If the actual value is
1698 // desired, use "raw" version of the method.
1699 
1708 - (BOOL)getEnum:(nullable int32_t *)value forKey:(int32_t)key;
1709 
1718 - (void)enumerateKeysAndEnumsUsingBlock:
1719  (void (NS_NOESCAPE ^)(int32_t key, int32_t value, BOOL *stop))block;
1720 
1732 - (BOOL)getRawValue:(nullable int32_t *)rawValue forKey:(int32_t)key;
1733 
1745 - (void)enumerateKeysAndRawValuesUsingBlock:
1746  (void (NS_NOESCAPE ^)(int32_t key, int32_t rawValue, BOOL *stop))block;
1747 
1757 - (void)addRawEntriesFromDictionary:(GPBInt32EnumDictionary *)otherDictionary;
1758 
1759 // If value is not a valid enumerator as defined by validationFunc, these
1760 // methods will assert in debug, and will log in release and assign the value
1761 // to the default value. Use the rawValue methods below to assign non enumerator
1762 // values.
1763 
1770 - (void)setEnum:(int32_t)value forKey:(int32_t)key;
1771 
1781 - (void)setRawValue:(int32_t)rawValue forKey:(int32_t)key;
1782 
1788 - (void)removeEnumForKey:(int32_t)aKey;
1789 
1793 - (void)removeAll;
1794 
1795 @end
1796 
1797 #pragma mark - Int32 -> Object
1798 
1805 @interface GPBInt32ObjectDictionary<__covariant ObjectType> : NSObject <NSCopying>
1806 
1808 @property(nonatomic, readonly) NSUInteger count;
1809 
1819 - (instancetype)initWithObjects:(const ObjectType __nonnull GPB_UNSAFE_UNRETAINED [__nullable])objects
1820  forKeys:(const int32_t [__nullable])keys
1821  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
1822 
1830 - (instancetype)initWithDictionary:(GPBInt32ObjectDictionary *)dictionary;
1831 
1839 - (instancetype)initWithCapacity:(NSUInteger)numItems;
1840 
1848 - (ObjectType)objectForKey:(int32_t)key;
1849 
1858 - (void)enumerateKeysAndObjectsUsingBlock:
1859  (void (NS_NOESCAPE ^)(int32_t key, ObjectType object, BOOL *stop))block;
1860 
1867 - (void)addEntriesFromDictionary:(GPBInt32ObjectDictionary *)otherDictionary;
1868 
1875 - (void)setObject:(ObjectType)object forKey:(int32_t)key;
1876 
1882 - (void)removeObjectForKey:(int32_t)aKey;
1883 
1887 - (void)removeAll;
1888 
1889 @end
1890 
1891 #pragma mark - UInt64 -> UInt32
1892 
1899 @interface GPBUInt64UInt32Dictionary : NSObject <NSCopying>
1900 
1902 @property(nonatomic, readonly) NSUInteger count;
1903 
1913 - (instancetype)initWithUInt32s:(const uint32_t [__nullable])values
1914  forKeys:(const uint64_t [__nullable])keys
1915  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
1916 
1924 - (instancetype)initWithDictionary:(GPBUInt64UInt32Dictionary *)dictionary;
1925 
1933 - (instancetype)initWithCapacity:(NSUInteger)numItems;
1934 
1943 - (BOOL)getUInt32:(nullable uint32_t *)value forKey:(uint64_t)key;
1944 
1953 - (void)enumerateKeysAndUInt32sUsingBlock:
1954  (void (NS_NOESCAPE ^)(uint64_t key, uint32_t value, BOOL *stop))block;
1955 
1962 - (void)addEntriesFromDictionary:(GPBUInt64UInt32Dictionary *)otherDictionary;
1963 
1970 - (void)setUInt32:(uint32_t)value forKey:(uint64_t)key;
1971 
1977 - (void)removeUInt32ForKey:(uint64_t)aKey;
1978 
1982 - (void)removeAll;
1983 
1984 @end
1985 
1986 #pragma mark - UInt64 -> Int32
1987 
1994 @interface GPBUInt64Int32Dictionary : NSObject <NSCopying>
1995 
1997 @property(nonatomic, readonly) NSUInteger count;
1998 
2008 - (instancetype)initWithInt32s:(const int32_t [__nullable])values
2009  forKeys:(const uint64_t [__nullable])keys
2010  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
2011 
2019 - (instancetype)initWithDictionary:(GPBUInt64Int32Dictionary *)dictionary;
2020 
2028 - (instancetype)initWithCapacity:(NSUInteger)numItems;
2029 
2038 - (BOOL)getInt32:(nullable int32_t *)value forKey:(uint64_t)key;
2039 
2048 - (void)enumerateKeysAndInt32sUsingBlock:
2049  (void (NS_NOESCAPE ^)(uint64_t key, int32_t value, BOOL *stop))block;
2050 
2057 - (void)addEntriesFromDictionary:(GPBUInt64Int32Dictionary *)otherDictionary;
2058 
2065 - (void)setInt32:(int32_t)value forKey:(uint64_t)key;
2066 
2072 - (void)removeInt32ForKey:(uint64_t)aKey;
2073 
2077 - (void)removeAll;
2078 
2079 @end
2080 
2081 #pragma mark - UInt64 -> UInt64
2082 
2089 @interface GPBUInt64UInt64Dictionary : NSObject <NSCopying>
2090 
2092 @property(nonatomic, readonly) NSUInteger count;
2093 
2103 - (instancetype)initWithUInt64s:(const uint64_t [__nullable])values
2104  forKeys:(const uint64_t [__nullable])keys
2105  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
2106 
2114 - (instancetype)initWithDictionary:(GPBUInt64UInt64Dictionary *)dictionary;
2115 
2123 - (instancetype)initWithCapacity:(NSUInteger)numItems;
2124 
2133 - (BOOL)getUInt64:(nullable uint64_t *)value forKey:(uint64_t)key;
2134 
2143 - (void)enumerateKeysAndUInt64sUsingBlock:
2144  (void (NS_NOESCAPE ^)(uint64_t key, uint64_t value, BOOL *stop))block;
2145 
2152 - (void)addEntriesFromDictionary:(GPBUInt64UInt64Dictionary *)otherDictionary;
2153 
2160 - (void)setUInt64:(uint64_t)value forKey:(uint64_t)key;
2161 
2167 - (void)removeUInt64ForKey:(uint64_t)aKey;
2168 
2172 - (void)removeAll;
2173 
2174 @end
2175 
2176 #pragma mark - UInt64 -> Int64
2177 
2184 @interface GPBUInt64Int64Dictionary : NSObject <NSCopying>
2185 
2187 @property(nonatomic, readonly) NSUInteger count;
2188 
2198 - (instancetype)initWithInt64s:(const int64_t [__nullable])values
2199  forKeys:(const uint64_t [__nullable])keys
2200  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
2201 
2209 - (instancetype)initWithDictionary:(GPBUInt64Int64Dictionary *)dictionary;
2210 
2218 - (instancetype)initWithCapacity:(NSUInteger)numItems;
2219 
2228 - (BOOL)getInt64:(nullable int64_t *)value forKey:(uint64_t)key;
2229 
2238 - (void)enumerateKeysAndInt64sUsingBlock:
2239  (void (NS_NOESCAPE ^)(uint64_t key, int64_t value, BOOL *stop))block;
2240 
2247 - (void)addEntriesFromDictionary:(GPBUInt64Int64Dictionary *)otherDictionary;
2248 
2255 - (void)setInt64:(int64_t)value forKey:(uint64_t)key;
2256 
2262 - (void)removeInt64ForKey:(uint64_t)aKey;
2263 
2267 - (void)removeAll;
2268 
2269 @end
2270 
2271 #pragma mark - UInt64 -> Bool
2272 
2279 @interface GPBUInt64BoolDictionary : NSObject <NSCopying>
2280 
2282 @property(nonatomic, readonly) NSUInteger count;
2283 
2293 - (instancetype)initWithBools:(const BOOL [__nullable])values
2294  forKeys:(const uint64_t [__nullable])keys
2295  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
2296 
2304 - (instancetype)initWithDictionary:(GPBUInt64BoolDictionary *)dictionary;
2305 
2313 - (instancetype)initWithCapacity:(NSUInteger)numItems;
2314 
2323 - (BOOL)getBool:(nullable BOOL *)value forKey:(uint64_t)key;
2324 
2333 - (void)enumerateKeysAndBoolsUsingBlock:
2334  (void (NS_NOESCAPE ^)(uint64_t key, BOOL value, BOOL *stop))block;
2335 
2342 - (void)addEntriesFromDictionary:(GPBUInt64BoolDictionary *)otherDictionary;
2343 
2350 - (void)setBool:(BOOL)value forKey:(uint64_t)key;
2351 
2357 - (void)removeBoolForKey:(uint64_t)aKey;
2358 
2362 - (void)removeAll;
2363 
2364 @end
2365 
2366 #pragma mark - UInt64 -> Float
2367 
2374 @interface GPBUInt64FloatDictionary : NSObject <NSCopying>
2375 
2377 @property(nonatomic, readonly) NSUInteger count;
2378 
2388 - (instancetype)initWithFloats:(const float [__nullable])values
2389  forKeys:(const uint64_t [__nullable])keys
2390  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
2391 
2399 - (instancetype)initWithDictionary:(GPBUInt64FloatDictionary *)dictionary;
2400 
2408 - (instancetype)initWithCapacity:(NSUInteger)numItems;
2409 
2418 - (BOOL)getFloat:(nullable float *)value forKey:(uint64_t)key;
2419 
2428 - (void)enumerateKeysAndFloatsUsingBlock:
2429  (void (NS_NOESCAPE ^)(uint64_t key, float value, BOOL *stop))block;
2430 
2437 - (void)addEntriesFromDictionary:(GPBUInt64FloatDictionary *)otherDictionary;
2438 
2445 - (void)setFloat:(float)value forKey:(uint64_t)key;
2446 
2452 - (void)removeFloatForKey:(uint64_t)aKey;
2453 
2457 - (void)removeAll;
2458 
2459 @end
2460 
2461 #pragma mark - UInt64 -> Double
2462 
2469 @interface GPBUInt64DoubleDictionary : NSObject <NSCopying>
2470 
2472 @property(nonatomic, readonly) NSUInteger count;
2473 
2483 - (instancetype)initWithDoubles:(const double [__nullable])values
2484  forKeys:(const uint64_t [__nullable])keys
2485  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
2486 
2494 - (instancetype)initWithDictionary:(GPBUInt64DoubleDictionary *)dictionary;
2495 
2503 - (instancetype)initWithCapacity:(NSUInteger)numItems;
2504 
2513 - (BOOL)getDouble:(nullable double *)value forKey:(uint64_t)key;
2514 
2523 - (void)enumerateKeysAndDoublesUsingBlock:
2524  (void (NS_NOESCAPE ^)(uint64_t key, double value, BOOL *stop))block;
2525 
2532 - (void)addEntriesFromDictionary:(GPBUInt64DoubleDictionary *)otherDictionary;
2533 
2540 - (void)setDouble:(double)value forKey:(uint64_t)key;
2541 
2547 - (void)removeDoubleForKey:(uint64_t)aKey;
2548 
2552 - (void)removeAll;
2553 
2554 @end
2555 
2556 #pragma mark - UInt64 -> Enum
2557 
2564 @interface GPBUInt64EnumDictionary : NSObject <NSCopying>
2565 
2567 @property(nonatomic, readonly) NSUInteger count;
2569 @property(nonatomic, readonly) GPBEnumValidationFunc validationFunc;
2570 
2578 - (instancetype)initWithValidationFunction:(nullable GPBEnumValidationFunc)func;
2579 
2590 - (instancetype)initWithValidationFunction:(nullable GPBEnumValidationFunc)func
2591  rawValues:(const int32_t [__nullable])values
2592  forKeys:(const uint64_t [__nullable])keys
2593  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
2594 
2604 - (instancetype)initWithDictionary:(GPBUInt64EnumDictionary *)dictionary;
2605 
2614 - (instancetype)initWithValidationFunction:(nullable GPBEnumValidationFunc)func
2615  capacity:(NSUInteger)numItems;
2616 
2617 // These will return kGPBUnrecognizedEnumeratorValue if the value for the key
2618 // is not a valid enumerator as defined by validationFunc. If the actual value is
2619 // desired, use "raw" version of the method.
2620 
2629 - (BOOL)getEnum:(nullable int32_t *)value forKey:(uint64_t)key;
2630 
2639 - (void)enumerateKeysAndEnumsUsingBlock:
2640  (void (NS_NOESCAPE ^)(uint64_t key, int32_t value, BOOL *stop))block;
2641 
2653 - (BOOL)getRawValue:(nullable int32_t *)rawValue forKey:(uint64_t)key;
2654 
2666 - (void)enumerateKeysAndRawValuesUsingBlock:
2667  (void (NS_NOESCAPE ^)(uint64_t key, int32_t rawValue, BOOL *stop))block;
2668 
2678 - (void)addRawEntriesFromDictionary:(GPBUInt64EnumDictionary *)otherDictionary;
2679 
2680 // If value is not a valid enumerator as defined by validationFunc, these
2681 // methods will assert in debug, and will log in release and assign the value
2682 // to the default value. Use the rawValue methods below to assign non enumerator
2683 // values.
2684 
2691 - (void)setEnum:(int32_t)value forKey:(uint64_t)key;
2692 
2702 - (void)setRawValue:(int32_t)rawValue forKey:(uint64_t)key;
2703 
2709 - (void)removeEnumForKey:(uint64_t)aKey;
2710 
2714 - (void)removeAll;
2715 
2716 @end
2717 
2718 #pragma mark - UInt64 -> Object
2719 
2726 @interface GPBUInt64ObjectDictionary<__covariant ObjectType> : NSObject <NSCopying>
2727 
2729 @property(nonatomic, readonly) NSUInteger count;
2730 
2740 - (instancetype)initWithObjects:(const ObjectType __nonnull GPB_UNSAFE_UNRETAINED [__nullable])objects
2741  forKeys:(const uint64_t [__nullable])keys
2742  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
2743 
2751 - (instancetype)initWithDictionary:(GPBUInt64ObjectDictionary *)dictionary;
2752 
2760 - (instancetype)initWithCapacity:(NSUInteger)numItems;
2761 
2769 - (ObjectType)objectForKey:(uint64_t)key;
2770 
2779 - (void)enumerateKeysAndObjectsUsingBlock:
2780  (void (NS_NOESCAPE ^)(uint64_t key, ObjectType object, BOOL *stop))block;
2781 
2788 - (void)addEntriesFromDictionary:(GPBUInt64ObjectDictionary *)otherDictionary;
2789 
2796 - (void)setObject:(ObjectType)object forKey:(uint64_t)key;
2797 
2803 - (void)removeObjectForKey:(uint64_t)aKey;
2804 
2808 - (void)removeAll;
2809 
2810 @end
2811 
2812 #pragma mark - Int64 -> UInt32
2813 
2820 @interface GPBInt64UInt32Dictionary : NSObject <NSCopying>
2821 
2823 @property(nonatomic, readonly) NSUInteger count;
2824 
2834 - (instancetype)initWithUInt32s:(const uint32_t [__nullable])values
2835  forKeys:(const int64_t [__nullable])keys
2836  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
2837 
2845 - (instancetype)initWithDictionary:(GPBInt64UInt32Dictionary *)dictionary;
2846 
2854 - (instancetype)initWithCapacity:(NSUInteger)numItems;
2855 
2864 - (BOOL)getUInt32:(nullable uint32_t *)value forKey:(int64_t)key;
2865 
2874 - (void)enumerateKeysAndUInt32sUsingBlock:
2875  (void (NS_NOESCAPE ^)(int64_t key, uint32_t value, BOOL *stop))block;
2876 
2883 - (void)addEntriesFromDictionary:(GPBInt64UInt32Dictionary *)otherDictionary;
2884 
2891 - (void)setUInt32:(uint32_t)value forKey:(int64_t)key;
2892 
2898 - (void)removeUInt32ForKey:(int64_t)aKey;
2899 
2903 - (void)removeAll;
2904 
2905 @end
2906 
2907 #pragma mark - Int64 -> Int32
2908 
2915 @interface GPBInt64Int32Dictionary : NSObject <NSCopying>
2916 
2918 @property(nonatomic, readonly) NSUInteger count;
2919 
2929 - (instancetype)initWithInt32s:(const int32_t [__nullable])values
2930  forKeys:(const int64_t [__nullable])keys
2931  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
2932 
2940 - (instancetype)initWithDictionary:(GPBInt64Int32Dictionary *)dictionary;
2941 
2949 - (instancetype)initWithCapacity:(NSUInteger)numItems;
2950 
2959 - (BOOL)getInt32:(nullable int32_t *)value forKey:(int64_t)key;
2960 
2969 - (void)enumerateKeysAndInt32sUsingBlock:
2970  (void (NS_NOESCAPE ^)(int64_t key, int32_t value, BOOL *stop))block;
2971 
2978 - (void)addEntriesFromDictionary:(GPBInt64Int32Dictionary *)otherDictionary;
2979 
2986 - (void)setInt32:(int32_t)value forKey:(int64_t)key;
2987 
2993 - (void)removeInt32ForKey:(int64_t)aKey;
2994 
2998 - (void)removeAll;
2999 
3000 @end
3001 
3002 #pragma mark - Int64 -> UInt64
3003 
3010 @interface GPBInt64UInt64Dictionary : NSObject <NSCopying>
3011 
3013 @property(nonatomic, readonly) NSUInteger count;
3014 
3024 - (instancetype)initWithUInt64s:(const uint64_t [__nullable])values
3025  forKeys:(const int64_t [__nullable])keys
3026  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
3027 
3035 - (instancetype)initWithDictionary:(GPBInt64UInt64Dictionary *)dictionary;
3036 
3044 - (instancetype)initWithCapacity:(NSUInteger)numItems;
3045 
3054 - (BOOL)getUInt64:(nullable uint64_t *)value forKey:(int64_t)key;
3055 
3064 - (void)enumerateKeysAndUInt64sUsingBlock:
3065  (void (NS_NOESCAPE ^)(int64_t key, uint64_t value, BOOL *stop))block;
3066 
3073 - (void)addEntriesFromDictionary:(GPBInt64UInt64Dictionary *)otherDictionary;
3074 
3081 - (void)setUInt64:(uint64_t)value forKey:(int64_t)key;
3082 
3088 - (void)removeUInt64ForKey:(int64_t)aKey;
3089 
3093 - (void)removeAll;
3094 
3095 @end
3096 
3097 #pragma mark - Int64 -> Int64
3098 
3105 @interface GPBInt64Int64Dictionary : NSObject <NSCopying>
3106 
3108 @property(nonatomic, readonly) NSUInteger count;
3109 
3119 - (instancetype)initWithInt64s:(const int64_t [__nullable])values
3120  forKeys:(const int64_t [__nullable])keys
3121  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
3122 
3130 - (instancetype)initWithDictionary:(GPBInt64Int64Dictionary *)dictionary;
3131 
3139 - (instancetype)initWithCapacity:(NSUInteger)numItems;
3140 
3149 - (BOOL)getInt64:(nullable int64_t *)value forKey:(int64_t)key;
3150 
3159 - (void)enumerateKeysAndInt64sUsingBlock:
3160  (void (NS_NOESCAPE ^)(int64_t key, int64_t value, BOOL *stop))block;
3161 
3168 - (void)addEntriesFromDictionary:(GPBInt64Int64Dictionary *)otherDictionary;
3169 
3176 - (void)setInt64:(int64_t)value forKey:(int64_t)key;
3177 
3183 - (void)removeInt64ForKey:(int64_t)aKey;
3184 
3188 - (void)removeAll;
3189 
3190 @end
3191 
3192 #pragma mark - Int64 -> Bool
3193 
3200 @interface GPBInt64BoolDictionary : NSObject <NSCopying>
3201 
3203 @property(nonatomic, readonly) NSUInteger count;
3204 
3214 - (instancetype)initWithBools:(const BOOL [__nullable])values
3215  forKeys:(const int64_t [__nullable])keys
3216  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
3217 
3225 - (instancetype)initWithDictionary:(GPBInt64BoolDictionary *)dictionary;
3226 
3234 - (instancetype)initWithCapacity:(NSUInteger)numItems;
3235 
3244 - (BOOL)getBool:(nullable BOOL *)value forKey:(int64_t)key;
3245 
3254 - (void)enumerateKeysAndBoolsUsingBlock:
3255  (void (NS_NOESCAPE ^)(int64_t key, BOOL value, BOOL *stop))block;
3256 
3263 - (void)addEntriesFromDictionary:(GPBInt64BoolDictionary *)otherDictionary;
3264 
3271 - (void)setBool:(BOOL)value forKey:(int64_t)key;
3272 
3278 - (void)removeBoolForKey:(int64_t)aKey;
3279 
3283 - (void)removeAll;
3284 
3285 @end
3286 
3287 #pragma mark - Int64 -> Float
3288 
3295 @interface GPBInt64FloatDictionary : NSObject <NSCopying>
3296 
3298 @property(nonatomic, readonly) NSUInteger count;
3299 
3309 - (instancetype)initWithFloats:(const float [__nullable])values
3310  forKeys:(const int64_t [__nullable])keys
3311  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
3312 
3320 - (instancetype)initWithDictionary:(GPBInt64FloatDictionary *)dictionary;
3321 
3329 - (instancetype)initWithCapacity:(NSUInteger)numItems;
3330 
3339 - (BOOL)getFloat:(nullable float *)value forKey:(int64_t)key;
3340 
3349 - (void)enumerateKeysAndFloatsUsingBlock:
3350  (void (NS_NOESCAPE ^)(int64_t key, float value, BOOL *stop))block;
3351 
3358 - (void)addEntriesFromDictionary:(GPBInt64FloatDictionary *)otherDictionary;
3359 
3366 - (void)setFloat:(float)value forKey:(int64_t)key;
3367 
3373 - (void)removeFloatForKey:(int64_t)aKey;
3374 
3378 - (void)removeAll;
3379 
3380 @end
3381 
3382 #pragma mark - Int64 -> Double
3383 
3390 @interface GPBInt64DoubleDictionary : NSObject <NSCopying>
3391 
3393 @property(nonatomic, readonly) NSUInteger count;
3394 
3404 - (instancetype)initWithDoubles:(const double [__nullable])values
3405  forKeys:(const int64_t [__nullable])keys
3406  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
3407 
3415 - (instancetype)initWithDictionary:(GPBInt64DoubleDictionary *)dictionary;
3416 
3424 - (instancetype)initWithCapacity:(NSUInteger)numItems;
3425 
3434 - (BOOL)getDouble:(nullable double *)value forKey:(int64_t)key;
3435 
3444 - (void)enumerateKeysAndDoublesUsingBlock:
3445  (void (NS_NOESCAPE ^)(int64_t key, double value, BOOL *stop))block;
3446 
3453 - (void)addEntriesFromDictionary:(GPBInt64DoubleDictionary *)otherDictionary;
3454 
3461 - (void)setDouble:(double)value forKey:(int64_t)key;
3462 
3468 - (void)removeDoubleForKey:(int64_t)aKey;
3469 
3473 - (void)removeAll;
3474 
3475 @end
3476 
3477 #pragma mark - Int64 -> Enum
3478 
3485 @interface GPBInt64EnumDictionary : NSObject <NSCopying>
3486 
3488 @property(nonatomic, readonly) NSUInteger count;
3490 @property(nonatomic, readonly) GPBEnumValidationFunc validationFunc;
3491 
3499 - (instancetype)initWithValidationFunction:(nullable GPBEnumValidationFunc)func;
3500 
3511 - (instancetype)initWithValidationFunction:(nullable GPBEnumValidationFunc)func
3512  rawValues:(const int32_t [__nullable])values
3513  forKeys:(const int64_t [__nullable])keys
3514  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
3515 
3525 - (instancetype)initWithDictionary:(GPBInt64EnumDictionary *)dictionary;
3526 
3535 - (instancetype)initWithValidationFunction:(nullable GPBEnumValidationFunc)func
3536  capacity:(NSUInteger)numItems;
3537 
3538 // These will return kGPBUnrecognizedEnumeratorValue if the value for the key
3539 // is not a valid enumerator as defined by validationFunc. If the actual value is
3540 // desired, use "raw" version of the method.
3541 
3550 - (BOOL)getEnum:(nullable int32_t *)value forKey:(int64_t)key;
3551 
3560 - (void)enumerateKeysAndEnumsUsingBlock:
3561  (void (NS_NOESCAPE ^)(int64_t key, int32_t value, BOOL *stop))block;
3562 
3574 - (BOOL)getRawValue:(nullable int32_t *)rawValue forKey:(int64_t)key;
3575 
3587 - (void)enumerateKeysAndRawValuesUsingBlock:
3588  (void (NS_NOESCAPE ^)(int64_t key, int32_t rawValue, BOOL *stop))block;
3589 
3599 - (void)addRawEntriesFromDictionary:(GPBInt64EnumDictionary *)otherDictionary;
3600 
3601 // If value is not a valid enumerator as defined by validationFunc, these
3602 // methods will assert in debug, and will log in release and assign the value
3603 // to the default value. Use the rawValue methods below to assign non enumerator
3604 // values.
3605 
3612 - (void)setEnum:(int32_t)value forKey:(int64_t)key;
3613 
3623 - (void)setRawValue:(int32_t)rawValue forKey:(int64_t)key;
3624 
3630 - (void)removeEnumForKey:(int64_t)aKey;
3631 
3635 - (void)removeAll;
3636 
3637 @end
3638 
3639 #pragma mark - Int64 -> Object
3640 
3647 @interface GPBInt64ObjectDictionary<__covariant ObjectType> : NSObject <NSCopying>
3648 
3650 @property(nonatomic, readonly) NSUInteger count;
3651 
3661 - (instancetype)initWithObjects:(const ObjectType __nonnull GPB_UNSAFE_UNRETAINED [__nullable])objects
3662  forKeys:(const int64_t [__nullable])keys
3663  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
3664 
3672 - (instancetype)initWithDictionary:(GPBInt64ObjectDictionary *)dictionary;
3673 
3681 - (instancetype)initWithCapacity:(NSUInteger)numItems;
3682 
3690 - (ObjectType)objectForKey:(int64_t)key;
3691 
3700 - (void)enumerateKeysAndObjectsUsingBlock:
3701  (void (NS_NOESCAPE ^)(int64_t key, ObjectType object, BOOL *stop))block;
3702 
3709 - (void)addEntriesFromDictionary:(GPBInt64ObjectDictionary *)otherDictionary;
3710 
3717 - (void)setObject:(ObjectType)object forKey:(int64_t)key;
3718 
3724 - (void)removeObjectForKey:(int64_t)aKey;
3725 
3729 - (void)removeAll;
3730 
3731 @end
3732 
3733 #pragma mark - Bool -> UInt32
3734 
3741 @interface GPBBoolUInt32Dictionary : NSObject <NSCopying>
3742 
3744 @property(nonatomic, readonly) NSUInteger count;
3745 
3755 - (instancetype)initWithUInt32s:(const uint32_t [__nullable])values
3756  forKeys:(const BOOL [__nullable])keys
3757  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
3758 
3766 - (instancetype)initWithDictionary:(GPBBoolUInt32Dictionary *)dictionary;
3767 
3775 - (instancetype)initWithCapacity:(NSUInteger)numItems;
3776 
3785 - (BOOL)getUInt32:(nullable uint32_t *)value forKey:(BOOL)key;
3786 
3795 - (void)enumerateKeysAndUInt32sUsingBlock:
3796  (void (NS_NOESCAPE ^)(BOOL key, uint32_t value, BOOL *stop))block;
3797 
3804 - (void)addEntriesFromDictionary:(GPBBoolUInt32Dictionary *)otherDictionary;
3805 
3812 - (void)setUInt32:(uint32_t)value forKey:(BOOL)key;
3813 
3819 - (void)removeUInt32ForKey:(BOOL)aKey;
3820 
3824 - (void)removeAll;
3825 
3826 @end
3827 
3828 #pragma mark - Bool -> Int32
3829 
3836 @interface GPBBoolInt32Dictionary : NSObject <NSCopying>
3837 
3839 @property(nonatomic, readonly) NSUInteger count;
3840 
3850 - (instancetype)initWithInt32s:(const int32_t [__nullable])values
3851  forKeys:(const BOOL [__nullable])keys
3852  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
3853 
3861 - (instancetype)initWithDictionary:(GPBBoolInt32Dictionary *)dictionary;
3862 
3870 - (instancetype)initWithCapacity:(NSUInteger)numItems;
3871 
3880 - (BOOL)getInt32:(nullable int32_t *)value forKey:(BOOL)key;
3881 
3890 - (void)enumerateKeysAndInt32sUsingBlock:
3891  (void (NS_NOESCAPE ^)(BOOL key, int32_t value, BOOL *stop))block;
3892 
3899 - (void)addEntriesFromDictionary:(GPBBoolInt32Dictionary *)otherDictionary;
3900 
3907 - (void)setInt32:(int32_t)value forKey:(BOOL)key;
3908 
3914 - (void)removeInt32ForKey:(BOOL)aKey;
3915 
3919 - (void)removeAll;
3920 
3921 @end
3922 
3923 #pragma mark - Bool -> UInt64
3924 
3931 @interface GPBBoolUInt64Dictionary : NSObject <NSCopying>
3932 
3934 @property(nonatomic, readonly) NSUInteger count;
3935 
3945 - (instancetype)initWithUInt64s:(const uint64_t [__nullable])values
3946  forKeys:(const BOOL [__nullable])keys
3947  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
3948 
3956 - (instancetype)initWithDictionary:(GPBBoolUInt64Dictionary *)dictionary;
3957 
3965 - (instancetype)initWithCapacity:(NSUInteger)numItems;
3966 
3975 - (BOOL)getUInt64:(nullable uint64_t *)value forKey:(BOOL)key;
3976 
3985 - (void)enumerateKeysAndUInt64sUsingBlock:
3986  (void (NS_NOESCAPE ^)(BOOL key, uint64_t value, BOOL *stop))block;
3987 
3994 - (void)addEntriesFromDictionary:(GPBBoolUInt64Dictionary *)otherDictionary;
3995 
4002 - (void)setUInt64:(uint64_t)value forKey:(BOOL)key;
4003 
4009 - (void)removeUInt64ForKey:(BOOL)aKey;
4010 
4014 - (void)removeAll;
4015 
4016 @end
4017 
4018 #pragma mark - Bool -> Int64
4019 
4026 @interface GPBBoolInt64Dictionary : NSObject <NSCopying>
4027 
4029 @property(nonatomic, readonly) NSUInteger count;
4030 
4040 - (instancetype)initWithInt64s:(const int64_t [__nullable])values
4041  forKeys:(const BOOL [__nullable])keys
4042  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
4043 
4051 - (instancetype)initWithDictionary:(GPBBoolInt64Dictionary *)dictionary;
4052 
4060 - (instancetype)initWithCapacity:(NSUInteger)numItems;
4061 
4070 - (BOOL)getInt64:(nullable int64_t *)value forKey:(BOOL)key;
4071 
4080 - (void)enumerateKeysAndInt64sUsingBlock:
4081  (void (NS_NOESCAPE ^)(BOOL key, int64_t value, BOOL *stop))block;
4082 
4089 - (void)addEntriesFromDictionary:(GPBBoolInt64Dictionary *)otherDictionary;
4090 
4097 - (void)setInt64:(int64_t)value forKey:(BOOL)key;
4098 
4104 - (void)removeInt64ForKey:(BOOL)aKey;
4105 
4109 - (void)removeAll;
4110 
4111 @end
4112 
4113 #pragma mark - Bool -> Bool
4114 
4121 @interface GPBBoolBoolDictionary : NSObject <NSCopying>
4122 
4124 @property(nonatomic, readonly) NSUInteger count;
4125 
4135 - (instancetype)initWithBools:(const BOOL [__nullable])values
4136  forKeys:(const BOOL [__nullable])keys
4137  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
4138 
4146 - (instancetype)initWithDictionary:(GPBBoolBoolDictionary *)dictionary;
4147 
4155 - (instancetype)initWithCapacity:(NSUInteger)numItems;
4156 
4165 - (BOOL)getBool:(nullable BOOL *)value forKey:(BOOL)key;
4166 
4175 - (void)enumerateKeysAndBoolsUsingBlock:
4176  (void (NS_NOESCAPE ^)(BOOL key, BOOL value, BOOL *stop))block;
4177 
4184 - (void)addEntriesFromDictionary:(GPBBoolBoolDictionary *)otherDictionary;
4185 
4192 - (void)setBool:(BOOL)value forKey:(BOOL)key;
4193 
4199 - (void)removeBoolForKey:(BOOL)aKey;
4200 
4204 - (void)removeAll;
4205 
4206 @end
4207 
4208 #pragma mark - Bool -> Float
4209 
4216 @interface GPBBoolFloatDictionary : NSObject <NSCopying>
4217 
4219 @property(nonatomic, readonly) NSUInteger count;
4220 
4230 - (instancetype)initWithFloats:(const float [__nullable])values
4231  forKeys:(const BOOL [__nullable])keys
4232  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
4233 
4241 - (instancetype)initWithDictionary:(GPBBoolFloatDictionary *)dictionary;
4242 
4250 - (instancetype)initWithCapacity:(NSUInteger)numItems;
4251 
4260 - (BOOL)getFloat:(nullable float *)value forKey:(BOOL)key;
4261 
4270 - (void)enumerateKeysAndFloatsUsingBlock:
4271  (void (NS_NOESCAPE ^)(BOOL key, float value, BOOL *stop))block;
4272 
4279 - (void)addEntriesFromDictionary:(GPBBoolFloatDictionary *)otherDictionary;
4280 
4287 - (void)setFloat:(float)value forKey:(BOOL)key;
4288 
4294 - (void)removeFloatForKey:(BOOL)aKey;
4295 
4299 - (void)removeAll;
4300 
4301 @end
4302 
4303 #pragma mark - Bool -> Double
4304 
4311 @interface GPBBoolDoubleDictionary : NSObject <NSCopying>
4312 
4314 @property(nonatomic, readonly) NSUInteger count;
4315 
4325 - (instancetype)initWithDoubles:(const double [__nullable])values
4326  forKeys:(const BOOL [__nullable])keys
4327  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
4328 
4336 - (instancetype)initWithDictionary:(GPBBoolDoubleDictionary *)dictionary;
4337 
4345 - (instancetype)initWithCapacity:(NSUInteger)numItems;
4346 
4355 - (BOOL)getDouble:(nullable double *)value forKey:(BOOL)key;
4356 
4365 - (void)enumerateKeysAndDoublesUsingBlock:
4366  (void (NS_NOESCAPE ^)(BOOL key, double value, BOOL *stop))block;
4367 
4374 - (void)addEntriesFromDictionary:(GPBBoolDoubleDictionary *)otherDictionary;
4375 
4382 - (void)setDouble:(double)value forKey:(BOOL)key;
4383 
4389 - (void)removeDoubleForKey:(BOOL)aKey;
4390 
4394 - (void)removeAll;
4395 
4396 @end
4397 
4398 #pragma mark - Bool -> Enum
4399 
4406 @interface GPBBoolEnumDictionary : NSObject <NSCopying>
4407 
4409 @property(nonatomic, readonly) NSUInteger count;
4411 @property(nonatomic, readonly) GPBEnumValidationFunc validationFunc;
4412 
4420 - (instancetype)initWithValidationFunction:(nullable GPBEnumValidationFunc)func;
4421 
4432 - (instancetype)initWithValidationFunction:(nullable GPBEnumValidationFunc)func
4433  rawValues:(const int32_t [__nullable])values
4434  forKeys:(const BOOL [__nullable])keys
4435  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
4436 
4446 - (instancetype)initWithDictionary:(GPBBoolEnumDictionary *)dictionary;
4447 
4456 - (instancetype)initWithValidationFunction:(nullable GPBEnumValidationFunc)func
4457  capacity:(NSUInteger)numItems;
4458 
4459 // These will return kGPBUnrecognizedEnumeratorValue if the value for the key
4460 // is not a valid enumerator as defined by validationFunc. If the actual value is
4461 // desired, use "raw" version of the method.
4462 
4471 - (BOOL)getEnum:(nullable int32_t *)value forKey:(BOOL)key;
4472 
4481 - (void)enumerateKeysAndEnumsUsingBlock:
4482  (void (NS_NOESCAPE ^)(BOOL key, int32_t value, BOOL *stop))block;
4483 
4495 - (BOOL)getRawValue:(nullable int32_t *)rawValue forKey:(BOOL)key;
4496 
4508 - (void)enumerateKeysAndRawValuesUsingBlock:
4509  (void (NS_NOESCAPE ^)(BOOL key, int32_t rawValue, BOOL *stop))block;
4510 
4520 - (void)addRawEntriesFromDictionary:(GPBBoolEnumDictionary *)otherDictionary;
4521 
4522 // If value is not a valid enumerator as defined by validationFunc, these
4523 // methods will assert in debug, and will log in release and assign the value
4524 // to the default value. Use the rawValue methods below to assign non enumerator
4525 // values.
4526 
4533 - (void)setEnum:(int32_t)value forKey:(BOOL)key;
4534 
4544 - (void)setRawValue:(int32_t)rawValue forKey:(BOOL)key;
4545 
4551 - (void)removeEnumForKey:(BOOL)aKey;
4552 
4556 - (void)removeAll;
4557 
4558 @end
4559 
4560 #pragma mark - Bool -> Object
4561 
4568 @interface GPBBoolObjectDictionary<__covariant ObjectType> : NSObject <NSCopying>
4569 
4571 @property(nonatomic, readonly) NSUInteger count;
4572 
4582 - (instancetype)initWithObjects:(const ObjectType __nonnull GPB_UNSAFE_UNRETAINED [__nullable])objects
4583  forKeys:(const BOOL [__nullable])keys
4584  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
4585 
4593 - (instancetype)initWithDictionary:(GPBBoolObjectDictionary *)dictionary;
4594 
4602 - (instancetype)initWithCapacity:(NSUInteger)numItems;
4603 
4611 - (ObjectType)objectForKey:(BOOL)key;
4612 
4621 - (void)enumerateKeysAndObjectsUsingBlock:
4622  (void (NS_NOESCAPE ^)(BOOL key, ObjectType object, BOOL *stop))block;
4623 
4630 - (void)addEntriesFromDictionary:(GPBBoolObjectDictionary *)otherDictionary;
4631 
4638 - (void)setObject:(ObjectType)object forKey:(BOOL)key;
4639 
4645 - (void)removeObjectForKey:(BOOL)aKey;
4646 
4650 - (void)removeAll;
4651 
4652 @end
4653 
4654 #pragma mark - String -> UInt32
4655 
4662 @interface GPBStringUInt32Dictionary : NSObject <NSCopying>
4663 
4665 @property(nonatomic, readonly) NSUInteger count;
4666 
4676 - (instancetype)initWithUInt32s:(const uint32_t [__nullable])values
4677  forKeys:(const NSString * __nonnull GPB_UNSAFE_UNRETAINED [__nullable])keys
4678  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
4679 
4687 - (instancetype)initWithDictionary:(GPBStringUInt32Dictionary *)dictionary;
4688 
4696 - (instancetype)initWithCapacity:(NSUInteger)numItems;
4697 
4706 - (BOOL)getUInt32:(nullable uint32_t *)value forKey:(NSString *)key;
4707 
4716 - (void)enumerateKeysAndUInt32sUsingBlock:
4717  (void (NS_NOESCAPE ^)(NSString *key, uint32_t value, BOOL *stop))block;
4718 
4725 - (void)addEntriesFromDictionary:(GPBStringUInt32Dictionary *)otherDictionary;
4726 
4733 - (void)setUInt32:(uint32_t)value forKey:(NSString *)key;
4734 
4740 - (void)removeUInt32ForKey:(NSString *)aKey;
4741 
4745 - (void)removeAll;
4746 
4747 @end
4748 
4749 #pragma mark - String -> Int32
4750 
4757 @interface GPBStringInt32Dictionary : NSObject <NSCopying>
4758 
4760 @property(nonatomic, readonly) NSUInteger count;
4761 
4771 - (instancetype)initWithInt32s:(const int32_t [__nullable])values
4772  forKeys:(const NSString * __nonnull GPB_UNSAFE_UNRETAINED [__nullable])keys
4773  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
4774 
4782 - (instancetype)initWithDictionary:(GPBStringInt32Dictionary *)dictionary;
4783 
4791 - (instancetype)initWithCapacity:(NSUInteger)numItems;
4792 
4801 - (BOOL)getInt32:(nullable int32_t *)value forKey:(NSString *)key;
4802 
4811 - (void)enumerateKeysAndInt32sUsingBlock:
4812  (void (NS_NOESCAPE ^)(NSString *key, int32_t value, BOOL *stop))block;
4813 
4820 - (void)addEntriesFromDictionary:(GPBStringInt32Dictionary *)otherDictionary;
4821 
4828 - (void)setInt32:(int32_t)value forKey:(NSString *)key;
4829 
4835 - (void)removeInt32ForKey:(NSString *)aKey;
4836 
4840 - (void)removeAll;
4841 
4842 @end
4843 
4844 #pragma mark - String -> UInt64
4845 
4852 @interface GPBStringUInt64Dictionary : NSObject <NSCopying>
4853 
4855 @property(nonatomic, readonly) NSUInteger count;
4856 
4866 - (instancetype)initWithUInt64s:(const uint64_t [__nullable])values
4867  forKeys:(const NSString * __nonnull GPB_UNSAFE_UNRETAINED [__nullable])keys
4868  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
4869 
4877 - (instancetype)initWithDictionary:(GPBStringUInt64Dictionary *)dictionary;
4878 
4886 - (instancetype)initWithCapacity:(NSUInteger)numItems;
4887 
4896 - (BOOL)getUInt64:(nullable uint64_t *)value forKey:(NSString *)key;
4897 
4906 - (void)enumerateKeysAndUInt64sUsingBlock:
4907  (void (NS_NOESCAPE ^)(NSString *key, uint64_t value, BOOL *stop))block;
4908 
4915 - (void)addEntriesFromDictionary:(GPBStringUInt64Dictionary *)otherDictionary;
4916 
4923 - (void)setUInt64:(uint64_t)value forKey:(NSString *)key;
4924 
4930 - (void)removeUInt64ForKey:(NSString *)aKey;
4931 
4935 - (void)removeAll;
4936 
4937 @end
4938 
4939 #pragma mark - String -> Int64
4940 
4947 @interface GPBStringInt64Dictionary : NSObject <NSCopying>
4948 
4950 @property(nonatomic, readonly) NSUInteger count;
4951 
4961 - (instancetype)initWithInt64s:(const int64_t [__nullable])values
4962  forKeys:(const NSString * __nonnull GPB_UNSAFE_UNRETAINED [__nullable])keys
4963  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
4964 
4972 - (instancetype)initWithDictionary:(GPBStringInt64Dictionary *)dictionary;
4973 
4981 - (instancetype)initWithCapacity:(NSUInteger)numItems;
4982 
4991 - (BOOL)getInt64:(nullable int64_t *)value forKey:(NSString *)key;
4992 
5001 - (void)enumerateKeysAndInt64sUsingBlock:
5002  (void (NS_NOESCAPE ^)(NSString *key, int64_t value, BOOL *stop))block;
5003 
5010 - (void)addEntriesFromDictionary:(GPBStringInt64Dictionary *)otherDictionary;
5011 
5018 - (void)setInt64:(int64_t)value forKey:(NSString *)key;
5019 
5025 - (void)removeInt64ForKey:(NSString *)aKey;
5026 
5030 - (void)removeAll;
5031 
5032 @end
5033 
5034 #pragma mark - String -> Bool
5035 
5042 @interface GPBStringBoolDictionary : NSObject <NSCopying>
5043 
5045 @property(nonatomic, readonly) NSUInteger count;
5046 
5056 - (instancetype)initWithBools:(const BOOL [__nullable])values
5057  forKeys:(const NSString * __nonnull GPB_UNSAFE_UNRETAINED [__nullable])keys
5058  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
5059 
5067 - (instancetype)initWithDictionary:(GPBStringBoolDictionary *)dictionary;
5068 
5076 - (instancetype)initWithCapacity:(NSUInteger)numItems;
5077 
5086 - (BOOL)getBool:(nullable BOOL *)value forKey:(NSString *)key;
5087 
5096 - (void)enumerateKeysAndBoolsUsingBlock:
5097  (void (NS_NOESCAPE ^)(NSString *key, BOOL value, BOOL *stop))block;
5098 
5105 - (void)addEntriesFromDictionary:(GPBStringBoolDictionary *)otherDictionary;
5106 
5113 - (void)setBool:(BOOL)value forKey:(NSString *)key;
5114 
5120 - (void)removeBoolForKey:(NSString *)aKey;
5121 
5125 - (void)removeAll;
5126 
5127 @end
5128 
5129 #pragma mark - String -> Float
5130 
5137 @interface GPBStringFloatDictionary : NSObject <NSCopying>
5138 
5140 @property(nonatomic, readonly) NSUInteger count;
5141 
5151 - (instancetype)initWithFloats:(const float [__nullable])values
5152  forKeys:(const NSString * __nonnull GPB_UNSAFE_UNRETAINED [__nullable])keys
5153  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
5154 
5162 - (instancetype)initWithDictionary:(GPBStringFloatDictionary *)dictionary;
5163 
5171 - (instancetype)initWithCapacity:(NSUInteger)numItems;
5172 
5181 - (BOOL)getFloat:(nullable float *)value forKey:(NSString *)key;
5182 
5191 - (void)enumerateKeysAndFloatsUsingBlock:
5192  (void (NS_NOESCAPE ^)(NSString *key, float value, BOOL *stop))block;
5193 
5200 - (void)addEntriesFromDictionary:(GPBStringFloatDictionary *)otherDictionary;
5201 
5208 - (void)setFloat:(float)value forKey:(NSString *)key;
5209 
5215 - (void)removeFloatForKey:(NSString *)aKey;
5216 
5220 - (void)removeAll;
5221 
5222 @end
5223 
5224 #pragma mark - String -> Double
5225 
5232 @interface GPBStringDoubleDictionary : NSObject <NSCopying>
5233 
5235 @property(nonatomic, readonly) NSUInteger count;
5236 
5246 - (instancetype)initWithDoubles:(const double [__nullable])values
5247  forKeys:(const NSString * __nonnull GPB_UNSAFE_UNRETAINED [__nullable])keys
5248  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
5249 
5257 - (instancetype)initWithDictionary:(GPBStringDoubleDictionary *)dictionary;
5258 
5266 - (instancetype)initWithCapacity:(NSUInteger)numItems;
5267 
5276 - (BOOL)getDouble:(nullable double *)value forKey:(NSString *)key;
5277 
5286 - (void)enumerateKeysAndDoublesUsingBlock:
5287  (void (NS_NOESCAPE ^)(NSString *key, double value, BOOL *stop))block;
5288 
5295 - (void)addEntriesFromDictionary:(GPBStringDoubleDictionary *)otherDictionary;
5296 
5303 - (void)setDouble:(double)value forKey:(NSString *)key;
5304 
5310 - (void)removeDoubleForKey:(NSString *)aKey;
5311 
5315 - (void)removeAll;
5316 
5317 @end
5318 
5319 #pragma mark - String -> Enum
5320 
5327 @interface GPBStringEnumDictionary : NSObject <NSCopying>
5328 
5330 @property(nonatomic, readonly) NSUInteger count;
5332 @property(nonatomic, readonly) GPBEnumValidationFunc validationFunc;
5333 
5341 - (instancetype)initWithValidationFunction:(nullable GPBEnumValidationFunc)func;
5342 
5353 - (instancetype)initWithValidationFunction:(nullable GPBEnumValidationFunc)func
5354  rawValues:(const int32_t [__nullable])values
5355  forKeys:(const NSString * __nonnull GPB_UNSAFE_UNRETAINED [__nullable])keys
5356  count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
5357 
5367 - (instancetype)initWithDictionary:(GPBStringEnumDictionary *)dictionary;
5368 
5377 - (instancetype)initWithValidationFunction:(nullable GPBEnumValidationFunc)func
5378  capacity:(NSUInteger)numItems;
5379 
5380 // These will return kGPBUnrecognizedEnumeratorValue if the value for the key
5381 // is not a valid enumerator as defined by validationFunc. If the actual value is
5382 // desired, use "raw" version of the method.
5383 
5392 - (BOOL)getEnum:(nullable int32_t *)value forKey:(NSString *)key;
5393 
5402 - (void)enumerateKeysAndEnumsUsingBlock:
5403  (void (NS_NOESCAPE ^)(NSString *key, int32_t value, BOOL *stop))block;
5404 
5416 - (BOOL)getRawValue:(nullable int32_t *)rawValue forKey:(NSString *)key;
5417 
5429 - (void)enumerateKeysAndRawValuesUsingBlock:
5430  (void (NS_NOESCAPE ^)(NSString *key, int32_t rawValue, BOOL *stop))block;
5431 
5441 - (void)addRawEntriesFromDictionary:(GPBStringEnumDictionary *)otherDictionary;
5442 
5443 // If value is not a valid enumerator as defined by validationFunc, these
5444 // methods will assert in debug, and will log in release and assign the value
5445 // to the default value. Use the rawValue methods below to assign non enumerator
5446 // values.
5447 
5454 - (void)setEnum:(int32_t)value forKey:(NSString *)key;
5455 
5465 - (void)setRawValue:(int32_t)rawValue forKey:(NSString *)key;
5466 
5472 - (void)removeEnumForKey:(NSString *)aKey;
5473 
5477 - (void)removeAll;
5478 
5479 @end
5480 
5481 //%PDDM-EXPAND-END DECLARE_DICTIONARIES()
5482 
5483 NS_ASSUME_NONNULL_END
5484 
5485 //%PDDM-DEFINE DECLARE_DICTIONARIES()
5486 //%DICTIONARY_INTERFACES_FOR_POD_KEY(UInt32, uint32_t)
5487 //%DICTIONARY_INTERFACES_FOR_POD_KEY(Int32, int32_t)
5488 //%DICTIONARY_INTERFACES_FOR_POD_KEY(UInt64, uint64_t)
5489 //%DICTIONARY_INTERFACES_FOR_POD_KEY(Int64, int64_t)
5490 //%DICTIONARY_INTERFACES_FOR_POD_KEY(Bool, BOOL)
5491 //%DICTIONARY_POD_INTERFACES_FOR_KEY(String, NSString, *, OBJECT)
5492 //%PDDM-DEFINE DICTIONARY_INTERFACES_FOR_POD_KEY(KEY_NAME, KEY_TYPE)
5493 //%DICTIONARY_POD_INTERFACES_FOR_KEY(KEY_NAME, KEY_TYPE, , POD)
5494 //%DICTIONARY_POD_KEY_TO_OBJECT_INTERFACE(KEY_NAME, KEY_TYPE, Object, ObjectType)
5495 //%PDDM-DEFINE DICTIONARY_POD_INTERFACES_FOR_KEY(KEY_NAME, KEY_TYPE, KisP, KHELPER)
5496 //%DICTIONARY_KEY_TO_POD_INTERFACE(KEY_NAME, KEY_TYPE, KisP, KHELPER, UInt32, uint32_t)
5497 //%DICTIONARY_KEY_TO_POD_INTERFACE(KEY_NAME, KEY_TYPE, KisP, KHELPER, Int32, int32_t)
5498 //%DICTIONARY_KEY_TO_POD_INTERFACE(KEY_NAME, KEY_TYPE, KisP, KHELPER, UInt64, uint64_t)
5499 //%DICTIONARY_KEY_TO_POD_INTERFACE(KEY_NAME, KEY_TYPE, KisP, KHELPER, Int64, int64_t)
5500 //%DICTIONARY_KEY_TO_POD_INTERFACE(KEY_NAME, KEY_TYPE, KisP, KHELPER, Bool, BOOL)
5501 //%DICTIONARY_KEY_TO_POD_INTERFACE(KEY_NAME, KEY_TYPE, KisP, KHELPER, Float, float)
5502 //%DICTIONARY_KEY_TO_POD_INTERFACE(KEY_NAME, KEY_TYPE, KisP, KHELPER, Double, double)
5503 //%DICTIONARY_KEY_TO_ENUM_INTERFACE(KEY_NAME, KEY_TYPE, KisP, KHELPER, Enum, int32_t)
5504 //%PDDM-DEFINE DICTIONARY_KEY_TO_POD_INTERFACE(KEY_NAME, KEY_TYPE, KisP, KHELPER, VALUE_NAME, VALUE_TYPE)
5505 //%DICTIONARY_COMMON_INTERFACE(KEY_NAME, KEY_TYPE, KisP, KHELPER, VALUE_NAME, VALUE_TYPE, POD, VALUE_NAME, value)
5506 //%PDDM-DEFINE DICTIONARY_POD_KEY_TO_OBJECT_INTERFACE(KEY_NAME, KEY_TYPE, VALUE_NAME, VALUE_TYPE)
5507 //%DICTIONARY_COMMON_INTERFACE(KEY_NAME, KEY_TYPE, , POD, VALUE_NAME, VALUE_TYPE, OBJECT, Object, object)
5508 //%PDDM-DEFINE VALUE_FOR_KEY_POD(KEY_TYPE, VALUE_TYPE, VNAME)
5509 //%/**
5510 //% * Gets the value for the given key.
5511 //% *
5512 //% * @param value Pointer into which the value will be set, if found.
5513 //% * @param key Key under which the value is stored, if present.
5514 //% *
5515 //% * @return YES if the key was found and the value was copied, NO otherwise.
5516 //% **/
5517 //%- (BOOL)get##VNAME##:(nullable VALUE_TYPE *)value forKey:(KEY_TYPE)key;
5518 //%PDDM-DEFINE VALUE_FOR_KEY_OBJECT(KEY_TYPE, VALUE_TYPE, VNAME)
5519 //%/**
5520 //% * Fetches the object stored under the given key.
5521 //% *
5522 //% * @param key Key under which the value is stored, if present.
5523 //% *
5524 //% * @return The object if found, nil otherwise.
5525 //% **/
5526 //%- (VALUE_TYPE)objectForKey:(KEY_TYPE)key;
5527 //%PDDM-DEFINE VALUE_FOR_KEY_Enum(KEY_TYPE, VALUE_TYPE, VNAME)
5528 //%VALUE_FOR_KEY_POD(KEY_TYPE, VALUE_TYPE, VNAME)
5529 //%PDDM-DEFINE ARRAY_ARG_MODIFIERPOD()
5530 // Nothing
5531 //%PDDM-DEFINE ARRAY_ARG_MODIFIEREnum()
5532 // Nothing
5533 //%PDDM-DEFINE ARRAY_ARG_MODIFIEROBJECT()
5534 //%__nonnull GPB_UNSAFE_UNRETAINED ##
5535 //%PDDM-DEFINE DICTIONARY_CLASS_DECLPOD(KEY_NAME, VALUE_NAME, VALUE_TYPE)
5536 //%GPB##KEY_NAME##VALUE_NAME##Dictionary
5537 //%PDDM-DEFINE DICTIONARY_CLASS_DECLEnum(KEY_NAME, VALUE_NAME, VALUE_TYPE)
5538 //%GPB##KEY_NAME##VALUE_NAME##Dictionary
5539 //%PDDM-DEFINE DICTIONARY_CLASS_DECLOBJECT(KEY_NAME, VALUE_NAME, VALUE_TYPE)
5540 //%GPB##KEY_NAME##VALUE_NAME##Dictionary<__covariant VALUE_TYPE>
5541 //%PDDM-DEFINE DICTIONARY_COMMON_INTERFACE(KEY_NAME, KEY_TYPE, KisP, KHELPER, VALUE_NAME, VALUE_TYPE, VHELPER, VNAME, VNAME_VAR)
5542 //%#pragma mark - KEY_NAME -> VALUE_NAME
5543 //%
5544 //%/**
5545 //% * Class used for map fields of <##KEY_TYPE##, ##VALUE_TYPE##>
5546 //% * values. This performs better than boxing into NSNumbers in NSDictionaries.
5547 //% *
5548 //% * @note This class is not meant to be subclassed.
5549 //% **/
5550 //%@interface DICTIONARY_CLASS_DECL##VHELPER(KEY_NAME, VALUE_NAME, VALUE_TYPE) : NSObject <NSCopying>
5551 //%
5552 //%/** Number of entries stored in this dictionary. */
5553 //%@property(nonatomic, readonly) NSUInteger count;
5554 //%
5555 //%/**
5556 //% * Initializes this dictionary, copying the given values and keys.
5557 //% *
5558 //% * @param ##VNAME_VAR##s The values to be placed in this dictionary.
5559 //% * @param keys ##VNAME_VAR$S## The keys under which to store the values.
5560 //% * @param count ##VNAME_VAR$S## The number of elements to copy into the dictionary.
5561 //% *
5562 //% * @return A newly initialized dictionary with a copy of the values and keys.
5563 //% **/
5564 //%- (instancetype)initWith##VNAME##s:(const VALUE_TYPE ARRAY_ARG_MODIFIER##VHELPER()[__nullable])##VNAME_VAR##s
5565 //% ##VNAME$S## forKeys:(const KEY_TYPE##KisP$S##KisP ARRAY_ARG_MODIFIER##KHELPER()[__nullable])keys
5566 //% ##VNAME$S## count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
5567 //%
5568 //%/**
5569 //% * Initializes this dictionary, copying the entries from the given dictionary.
5570 //% *
5571 //% * @param dictionary Dictionary containing the entries to add to this dictionary.
5572 //% *
5573 //% * @return A newly initialized dictionary with the entries of the given dictionary.
5574 //% **/
5575 //%- (instancetype)initWithDictionary:(GPB##KEY_NAME##VALUE_NAME##Dictionary *)dictionary;
5576 //%
5577 //%/**
5578 //% * Initializes this dictionary with the requested capacity.
5579 //% *
5580 //% * @param numItems Number of items needed for this dictionary.
5581 //% *
5582 //% * @return A newly initialized dictionary with the requested capacity.
5583 //% **/
5584 //%- (instancetype)initWithCapacity:(NSUInteger)numItems;
5585 //%
5586 //%DICTIONARY_IMMUTABLE_INTERFACE(KEY_NAME, KEY_TYPE, KisP, VALUE_NAME, VALUE_TYPE, VHELPER, VNAME, VNAME_VAR)
5587 //%
5588 //%/**
5589 //% * Adds the keys and values from another dictionary.
5590 //% *
5591 //% * @param otherDictionary Dictionary containing entries to be added to this
5592 //% * dictionary.
5593 //% **/
5594 //%- (void)addEntriesFromDictionary:(GPB##KEY_NAME##VALUE_NAME##Dictionary *)otherDictionary;
5595 //%
5596 //%DICTIONARY_MUTABLE_INTERFACE(KEY_NAME, KEY_TYPE, KisP, VALUE_NAME, VALUE_TYPE, VHELPER, VNAME, VNAME_VAR)
5597 //%
5598 //%@end
5599 //%
5600 
5601 //%PDDM-DEFINE DICTIONARY_KEY_TO_ENUM_INTERFACE(KEY_NAME, KEY_TYPE, KisP, KHELPER, VALUE_NAME, VALUE_TYPE)
5602 //%DICTIONARY_KEY_TO_ENUM_INTERFACE2(KEY_NAME, KEY_TYPE, KisP, KHELPER, VALUE_NAME, VALUE_TYPE, Enum)
5603 //%PDDM-DEFINE DICTIONARY_KEY_TO_ENUM_INTERFACE2(KEY_NAME, KEY_TYPE, KisP, KHELPER, VALUE_NAME, VALUE_TYPE, VHELPER)
5604 //%#pragma mark - KEY_NAME -> VALUE_NAME
5605 //%
5606 //%/**
5607 //% * Class used for map fields of <##KEY_TYPE##, ##VALUE_TYPE##>
5608 //% * values. This performs better than boxing into NSNumbers in NSDictionaries.
5609 //% *
5610 //% * @note This class is not meant to be subclassed.
5611 //% **/
5612 //%@interface GPB##KEY_NAME##VALUE_NAME##Dictionary : NSObject <NSCopying>
5613 //%
5614 //%/** Number of entries stored in this dictionary. */
5615 //%@property(nonatomic, readonly) NSUInteger count;
5616 //%/** The validation function to check if the enums are valid. */
5617 //%@property(nonatomic, readonly) GPBEnumValidationFunc validationFunc;
5618 //%
5619 //%/**
5620 //% * Initializes a dictionary with the given validation function.
5621 //% *
5622 //% * @param func The enum validation function for the dictionary.
5623 //% *
5624 //% * @return A newly initialized dictionary.
5625 //% **/
5626 //%- (instancetype)initWithValidationFunction:(nullable GPBEnumValidationFunc)func;
5627 //%
5628 //%/**
5629 //% * Initializes a dictionary with the entries given.
5630 //% *
5631 //% * @param func The enum validation function for the dictionary.
5632 //% * @param values The raw enum values values to be placed in the dictionary.
5633 //% * @param keys The keys under which to store the values.
5634 //% * @param count The number of entries to store in the dictionary.
5635 //% *
5636 //% * @return A newly initialized dictionary with the keys and values in it.
5637 //% **/
5638 //%- (instancetype)initWithValidationFunction:(nullable GPBEnumValidationFunc)func
5639 //% rawValues:(const VALUE_TYPE ARRAY_ARG_MODIFIER##VHELPER()[__nullable])values
5640 //% forKeys:(const KEY_TYPE##KisP$S##KisP ARRAY_ARG_MODIFIER##KHELPER()[__nullable])keys
5641 //% count:(NSUInteger)count NS_DESIGNATED_INITIALIZER;
5642 //%
5643 //%/**
5644 //% * Initializes a dictionary with the entries from the given.
5645 //% * dictionary.
5646 //% *
5647 //% * @param dictionary Dictionary containing the entries to add to the dictionary.
5648 //% *
5649 //% * @return A newly initialized dictionary with the entries from the given
5650 //% * dictionary in it.
5651 //% **/
5652 //%- (instancetype)initWithDictionary:(GPB##KEY_NAME##VALUE_NAME##Dictionary *)dictionary;
5653 //%
5654 //%/**
5655 //% * Initializes a dictionary with the given capacity.
5656 //% *
5657 //% * @param func The enum validation function for the dictionary.
5658 //% * @param numItems Capacity needed for the dictionary.
5659 //% *
5660 //% * @return A newly initialized dictionary with the given capacity.
5661 //% **/
5662 //%- (instancetype)initWithValidationFunction:(nullable GPBEnumValidationFunc)func
5663 //% capacity:(NSUInteger)numItems;
5664 //%
5665 //%// These will return kGPBUnrecognizedEnumeratorValue if the value for the key
5666 //%// is not a valid enumerator as defined by validationFunc. If the actual value is
5667 //%// desired, use "raw" version of the method.
5668 //%
5669 //%DICTIONARY_IMMUTABLE_INTERFACE(KEY_NAME, KEY_TYPE, KisP, VALUE_NAME, VALUE_TYPE, VHELPER, Enum, value)
5670 //%
5671 //%/**
5672 //% * Gets the raw enum value for the given key.
5673 //% *
5674 //% * @note This method bypass the validationFunc to enable the access of values that
5675 //% * were not known at the time the binary was compiled.
5676 //% *
5677 //% * @param rawValue Pointer into which the value will be set, if found.
5678 //% * @param key Key under which the value is stored, if present.
5679 //% *
5680 //% * @return YES if the key was found and the value was copied, NO otherwise.
5681 //% **/
5682 //%- (BOOL)getRawValue:(nullable VALUE_TYPE *)rawValue forKey:(KEY_TYPE##KisP$S##KisP)key;
5683 //%
5684 //%/**
5685 //% * Enumerates the keys and values on this dictionary with the given block.
5686 //% *
5687 //% * @note This method bypass the validationFunc to enable the access of values that
5688 //% * were not known at the time the binary was compiled.
5689 //% *
5690 //% * @param block The block to enumerate with.
5691 //% * **key**: The key for the current entry.
5692 //% * **rawValue**: The value for the current entry
5693 //% * **stop**: A pointer to a boolean that when set stops the enumeration.
5694 //% **/
5695 //%- (void)enumerateKeysAndRawValuesUsingBlock:
5696 //% (void (NS_NOESCAPE ^)(KEY_TYPE KisP##key, VALUE_TYPE rawValue, BOOL *stop))block;
5697 //%
5698 //%/**
5699 //% * Adds the keys and raw enum values from another dictionary.
5700 //% *
5701 //% * @note This method bypass the validationFunc to enable the setting of values that
5702 //% * were not known at the time the binary was compiled.
5703 //% *
5704 //% * @param otherDictionary Dictionary containing entries to be added to this
5705 //% * dictionary.
5706 //% **/
5707 //%- (void)addRawEntriesFromDictionary:(GPB##KEY_NAME##VALUE_NAME##Dictionary *)otherDictionary;
5708 //%
5709 //%// If value is not a valid enumerator as defined by validationFunc, these
5710 //%// methods will assert in debug, and will log in release and assign the value
5711 //%// to the default value. Use the rawValue methods below to assign non enumerator
5712 //%// values.
5713 //%
5714 //%DICTIONARY_MUTABLE_INTERFACE(KEY_NAME, KEY_TYPE, KisP, VALUE_NAME, VALUE_TYPE, VHELPER, Enum, value)
5715 //%
5716 //%@end
5717 //%
5718 
5719 //%PDDM-DEFINE DICTIONARY_IMMUTABLE_INTERFACE(KEY_NAME, KEY_TYPE, KisP, VALUE_NAME, VALUE_TYPE, VHELPER, VNAME, VNAME_VAR)
5720 //%VALUE_FOR_KEY_##VHELPER(KEY_TYPE##KisP$S##KisP, VALUE_TYPE, VNAME)
5721 //%
5722 //%/**
5723 //% * Enumerates the keys and values on this dictionary with the given block.
5724 //% *
5725 //% * @param block The block to enumerate with.
5726 //% * **key**: ##VNAME_VAR$S## The key for the current entry.
5727 //% * **VNAME_VAR**: The value for the current entry
5728 //% * **stop**: ##VNAME_VAR$S## A pointer to a boolean that when set stops the enumeration.
5729 //% **/
5730 //%- (void)enumerateKeysAnd##VNAME##sUsingBlock:
5731 //% (void (NS_NOESCAPE ^)(KEY_TYPE KisP##key, VALUE_TYPE VNAME_VAR, BOOL *stop))block;
5732 
5733 //%PDDM-DEFINE DICTIONARY_MUTABLE_INTERFACE(KEY_NAME, KEY_TYPE, KisP, VALUE_NAME, VALUE_TYPE, VHELPER, VNAME, VNAME_VAR)
5734 //%/**
5735 //% * Sets the value for the given key.
5736 //% *
5737 //% * @param ##VNAME_VAR The value to set.
5738 //% * @param key ##VNAME_VAR$S## The key under which to store the value.
5739 //% **/
5740 //%- (void)set##VNAME##:(VALUE_TYPE)##VNAME_VAR forKey:(KEY_TYPE##KisP$S##KisP)key;
5741 //%DICTIONARY_EXTRA_MUTABLE_METHODS_##VHELPER(KEY_NAME, KEY_TYPE, KisP, VALUE_NAME, VALUE_TYPE)
5742 //%/**
5743 //% * Removes the entry for the given key.
5744 //% *
5745 //% * @param aKey Key to be removed from this dictionary.
5746 //% **/
5747 //%- (void)remove##VNAME##ForKey:(KEY_TYPE##KisP$S##KisP)aKey;
5748 //%
5749 //%/**
5750 //% * Removes all entries in this dictionary.
5751 //% **/
5752 //%- (void)removeAll;
5753 
5754 //%PDDM-DEFINE DICTIONARY_EXTRA_MUTABLE_METHODS_POD(KEY_NAME, KEY_TYPE, KisP, VALUE_NAME, VALUE_TYPE)
5755 // Empty
5756 //%PDDM-DEFINE DICTIONARY_EXTRA_MUTABLE_METHODS_OBJECT(KEY_NAME, KEY_TYPE, KisP, VALUE_NAME, VALUE_TYPE)
5757 // Empty
5758 //%PDDM-DEFINE DICTIONARY_EXTRA_MUTABLE_METHODS_Enum(KEY_NAME, KEY_TYPE, KisP, VALUE_NAME, VALUE_TYPE)
5759 //%
5760 //%/**
5761 //% * Sets the raw enum value for the given key.
5762 //% *
5763 //% * @note This method bypass the validationFunc to enable the setting of values that
5764 //% * were not known at the time the binary was compiled.
5765 //% *
5766 //% * @param rawValue The raw enum value to set.
5767 //% * @param key The key under which to store the raw enum value.
5768 //% **/
5769 //%- (void)setRawValue:(VALUE_TYPE)rawValue forKey:(KEY_TYPE##KisP$S##KisP)key;
5770 //%
GPBBoolUInt64Dictionary
Definition: GPBDictionary.h:3931
GPBUInt64EnumDictionary
Definition: GPBDictionary.h:2564
GPBUInt32EnumDictionary
Definition: GPBDictionary.h:722
GPBUInt32Int64Dictionary
Definition: GPBDictionary.h:342
GPBBoolInt64Dictionary
Definition: GPBDictionary.h:4026
GPBStringInt64Dictionary
Definition: GPBDictionary.h:4947
-[GPBUInt32UInt32Dictionary removeAll]
void removeAll()
GPBUInt32FloatDictionary
Definition: GPBDictionary.h:532
GPBUInt64Int64Dictionary
Definition: GPBDictionary.h:2184
benchmarks.python.py_benchmark.const
const
Definition: py_benchmark.py:14
GPBBoolBoolDictionary
Definition: GPBDictionary.h:4121
GPBUInt64FloatDictionary
Definition: GPBDictionary.h:2374
GPBStringInt32Dictionary
Definition: GPBDictionary.h:4757
GPBInt64FloatDictionary
Definition: GPBDictionary.h:3295
GPBStringDoubleDictionary
Definition: GPBDictionary.h:5232
GPBStringUInt64Dictionary
Definition: GPBDictionary.h:4852
GPBInt32EnumDictionary
Definition: GPBDictionary.h:1643
GPBInt64BoolDictionary
Definition: GPBDictionary.h:3200
GPBStringEnumDictionary
Definition: GPBDictionary.h:5327
GPB_UNSAFE_UNRETAINED
#define GPB_UNSAFE_UNRETAINED
Definition: GPBBootstrap.h:90
GPBInt32ObjectDictionary
Definition: GPBDictionary.h:1805
GPBInt64UInt64Dictionary
Definition: GPBDictionary.h:3010
GPBInt32UInt32Dictionary
Definition: GPBDictionary.h:978
GPBInt32FloatDictionary
Definition: GPBDictionary.h:1453
GPBBoolDoubleDictionary
Definition: GPBDictionary.h:4311
GPBEnumValidationFunc
BOOL(* GPBEnumValidationFunc)(int32_t)
Definition: GPBRuntimeTypes.h:42
values
GLenum GLsizei GLsizei GLint * values
Definition: glcorearb.h:3591
GPBUInt32Int32Dictionary
Definition: GPBDictionary.h:152
GPBInt64ObjectDictionary
Definition: GPBDictionary.h:3647
GPBInt64Int64Dictionary
Definition: GPBDictionary.h:3105
GPBInt32DoubleDictionary
Definition: GPBDictionary.h:1548
GPBUInt64Int32Dictionary
Definition: GPBDictionary.h:1994
GPBRuntimeTypes.h
GPBUInt64DoubleDictionary
Definition: GPBDictionary.h:2469
GPBInt64EnumDictionary
Definition: GPBDictionary.h:3485
GPBUInt64UInt64Dictionary
Definition: GPBDictionary.h:2089
GPBUInt32UInt32Dictionary
Definition: GPBDictionary.h:57
GPBBoolEnumDictionary
Definition: GPBDictionary.h:4406
key
const SETUP_TEARDOWN_TESTCONTEXT char * key
Definition: test_wss_transport.cpp:10
GPBInt32Int64Dictionary
Definition: GPBDictionary.h:1263
GPBStringUInt32Dictionary
Definition: GPBDictionary.h:4662
void
typedef void(APIENTRY *GLDEBUGPROCARB)(GLenum source
GPBUInt64ObjectDictionary
Definition: GPBDictionary.h:2726
GPBStringBoolDictionary
Definition: GPBDictionary.h:5042
GPBBoolInt32Dictionary
Definition: GPBDictionary.h:3836
GPBUInt32ObjectDictionary
Definition: GPBDictionary.h:884
GPBStringFloatDictionary
Definition: GPBDictionary.h:5137
GPBInt64Int32Dictionary
Definition: GPBDictionary.h:2915
GPBBoolUInt32Dictionary
Definition: GPBDictionary.h:3741
GPBUInt64BoolDictionary
Definition: GPBDictionary.h:2279
GPBInt64DoubleDictionary
Definition: GPBDictionary.h:3390
GPBUInt32BoolDictionary
Definition: GPBDictionary.h:437
GPBUInt64UInt32Dictionary
Definition: GPBDictionary.h:1899
GPBUInt32UInt64Dictionary
Definition: GPBDictionary.h:247
GPBBoolObjectDictionary
Definition: GPBDictionary.h:4568
GPBInt32Int32Dictionary
Definition: GPBDictionary.h:1073
GPBInt64UInt32Dictionary
Definition: GPBDictionary.h:2820
GPBInt32UInt64Dictionary
Definition: GPBDictionary.h:1168
value
GLsizei const GLfloat * value
Definition: glcorearb.h:3093
count
GLint GLsizei count
Definition: glcorearb.h:2830
GPBBoolFloatDictionary
Definition: GPBDictionary.h:4216
GPBInt32BoolDictionary
Definition: GPBDictionary.h:1358
GPBUInt32DoubleDictionary
Definition: GPBDictionary.h:627


libaditof
Author(s):
autogenerated on Wed May 21 2025 02:06:53