1*1b3f573fSAndroid Build Coastguard Worker // Protocol Buffers - Google's data interchange format
2*1b3f573fSAndroid Build Coastguard Worker // Copyright 2008 Google Inc. All rights reserved.
3*1b3f573fSAndroid Build Coastguard Worker // https://developers.google.com/protocol-buffers/
4*1b3f573fSAndroid Build Coastguard Worker //
5*1b3f573fSAndroid Build Coastguard Worker // Redistribution and use in source and binary forms, with or without
6*1b3f573fSAndroid Build Coastguard Worker // modification, are permitted provided that the following conditions are
7*1b3f573fSAndroid Build Coastguard Worker // met:
8*1b3f573fSAndroid Build Coastguard Worker //
9*1b3f573fSAndroid Build Coastguard Worker // * Redistributions of source code must retain the above copyright
10*1b3f573fSAndroid Build Coastguard Worker // notice, this list of conditions and the following disclaimer.
11*1b3f573fSAndroid Build Coastguard Worker // * Redistributions in binary form must reproduce the above
12*1b3f573fSAndroid Build Coastguard Worker // copyright notice, this list of conditions and the following disclaimer
13*1b3f573fSAndroid Build Coastguard Worker // in the documentation and/or other materials provided with the
14*1b3f573fSAndroid Build Coastguard Worker // distribution.
15*1b3f573fSAndroid Build Coastguard Worker // * Neither the name of Google Inc. nor the names of its
16*1b3f573fSAndroid Build Coastguard Worker // contributors may be used to endorse or promote products derived from
17*1b3f573fSAndroid Build Coastguard Worker // this software without specific prior written permission.
18*1b3f573fSAndroid Build Coastguard Worker //
19*1b3f573fSAndroid Build Coastguard Worker // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20*1b3f573fSAndroid Build Coastguard Worker // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21*1b3f573fSAndroid Build Coastguard Worker // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22*1b3f573fSAndroid Build Coastguard Worker // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23*1b3f573fSAndroid Build Coastguard Worker // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24*1b3f573fSAndroid Build Coastguard Worker // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25*1b3f573fSAndroid Build Coastguard Worker // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26*1b3f573fSAndroid Build Coastguard Worker // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27*1b3f573fSAndroid Build Coastguard Worker // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28*1b3f573fSAndroid Build Coastguard Worker // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29*1b3f573fSAndroid Build Coastguard Worker // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30*1b3f573fSAndroid Build Coastguard Worker
31*1b3f573fSAndroid Build Coastguard Worker #import <Foundation/Foundation.h>
32*1b3f573fSAndroid Build Coastguard Worker
33*1b3f573fSAndroid Build Coastguard Worker #import "GPBDictionary.h"
34*1b3f573fSAndroid Build Coastguard Worker
35*1b3f573fSAndroid Build Coastguard Worker @class GPBCodedInputStream;
36*1b3f573fSAndroid Build Coastguard Worker @class GPBCodedOutputStream;
37*1b3f573fSAndroid Build Coastguard Worker @class GPBExtensionRegistry;
38*1b3f573fSAndroid Build Coastguard Worker @class GPBFieldDescriptor;
39*1b3f573fSAndroid Build Coastguard Worker
40*1b3f573fSAndroid Build Coastguard Worker @protocol GPBDictionaryInternalsProtocol
41*1b3f573fSAndroid Build Coastguard Worker - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
42*1b3f573fSAndroid Build Coastguard Worker - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
43*1b3f573fSAndroid Build Coastguard Worker asField:(GPBFieldDescriptor *)field;
44*1b3f573fSAndroid Build Coastguard Worker - (void)setGPBGenericValue:(GPBGenericValue *)value
45*1b3f573fSAndroid Build Coastguard Worker forGPBGenericValueKey:(GPBGenericValue *)key;
46*1b3f573fSAndroid Build Coastguard Worker - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
47*1b3f573fSAndroid Build Coastguard Worker @end
48*1b3f573fSAndroid Build Coastguard Worker
49*1b3f573fSAndroid Build Coastguard Worker //%PDDM-DEFINE DICTIONARY_PRIV_INTERFACES_FOR_POD_KEY(KEY_NAME)
50*1b3f573fSAndroid Build Coastguard Worker //%DICTIONARY_POD_PRIV_INTERFACES_FOR_KEY(KEY_NAME)
51*1b3f573fSAndroid Build Coastguard Worker //%DICTIONARY_PRIVATE_INTERFACES(KEY_NAME, Object, Object)
52*1b3f573fSAndroid Build Coastguard Worker //%PDDM-DEFINE DICTIONARY_POD_PRIV_INTERFACES_FOR_KEY(KEY_NAME)
53*1b3f573fSAndroid Build Coastguard Worker //%DICTIONARY_PRIVATE_INTERFACES(KEY_NAME, UInt32, Basic)
54*1b3f573fSAndroid Build Coastguard Worker //%DICTIONARY_PRIVATE_INTERFACES(KEY_NAME, Int32, Basic)
55*1b3f573fSAndroid Build Coastguard Worker //%DICTIONARY_PRIVATE_INTERFACES(KEY_NAME, UInt64, Basic)
56*1b3f573fSAndroid Build Coastguard Worker //%DICTIONARY_PRIVATE_INTERFACES(KEY_NAME, Int64, Basic)
57*1b3f573fSAndroid Build Coastguard Worker //%DICTIONARY_PRIVATE_INTERFACES(KEY_NAME, Bool, Basic)
58*1b3f573fSAndroid Build Coastguard Worker //%DICTIONARY_PRIVATE_INTERFACES(KEY_NAME, Float, Basic)
59*1b3f573fSAndroid Build Coastguard Worker //%DICTIONARY_PRIVATE_INTERFACES(KEY_NAME, Double, Basic)
60*1b3f573fSAndroid Build Coastguard Worker //%DICTIONARY_PRIVATE_INTERFACES(KEY_NAME, Enum, Enum)
61*1b3f573fSAndroid Build Coastguard Worker
62*1b3f573fSAndroid Build Coastguard Worker //%PDDM-DEFINE DICTIONARY_PRIVATE_INTERFACES(KEY_NAME, VALUE_NAME, HELPER)
63*1b3f573fSAndroid Build Coastguard Worker //%@interface GPB##KEY_NAME##VALUE_NAME##Dictionary () <GPBDictionaryInternalsProtocol> {
64*1b3f573fSAndroid Build Coastguard Worker //% @package
65*1b3f573fSAndroid Build Coastguard Worker //% GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
66*1b3f573fSAndroid Build Coastguard Worker //%}
67*1b3f573fSAndroid Build Coastguard Worker //%EXTRA_DICTIONARY_PRIVATE_INTERFACES_##HELPER()@end
68*1b3f573fSAndroid Build Coastguard Worker //%
69*1b3f573fSAndroid Build Coastguard Worker
70*1b3f573fSAndroid Build Coastguard Worker //%PDDM-DEFINE EXTRA_DICTIONARY_PRIVATE_INTERFACES_Basic()
71*1b3f573fSAndroid Build Coastguard Worker // Empty
72*1b3f573fSAndroid Build Coastguard Worker //%PDDM-DEFINE EXTRA_DICTIONARY_PRIVATE_INTERFACES_Object()
73*1b3f573fSAndroid Build Coastguard Worker //%- (BOOL)isInitialized;
74*1b3f573fSAndroid Build Coastguard Worker //%- (instancetype)deepCopyWithZone:(NSZone *)zone
75*1b3f573fSAndroid Build Coastguard Worker //% __attribute__((ns_returns_retained));
76*1b3f573fSAndroid Build Coastguard Worker //%
77*1b3f573fSAndroid Build Coastguard Worker //%PDDM-DEFINE EXTRA_DICTIONARY_PRIVATE_INTERFACES_Enum()
78*1b3f573fSAndroid Build Coastguard Worker //%- (NSData *)serializedDataForUnknownValue:(int32_t)value
79*1b3f573fSAndroid Build Coastguard Worker //% forKey:(GPBGenericValue *)key
80*1b3f573fSAndroid Build Coastguard Worker //% keyDataType:(GPBDataType)keyDataType;
81*1b3f573fSAndroid Build Coastguard Worker //%
82*1b3f573fSAndroid Build Coastguard Worker
83*1b3f573fSAndroid Build Coastguard Worker //%PDDM-EXPAND DICTIONARY_PRIV_INTERFACES_FOR_POD_KEY(UInt32)
84*1b3f573fSAndroid Build Coastguard Worker // This block of code is generated, do not edit it directly.
85*1b3f573fSAndroid Build Coastguard Worker // clang-format off
86*1b3f573fSAndroid Build Coastguard Worker
GPBUInt32UInt32Dictionary()87*1b3f573fSAndroid Build Coastguard Worker @interface GPBUInt32UInt32Dictionary () <GPBDictionaryInternalsProtocol> {
88*1b3f573fSAndroid Build Coastguard Worker @package
89*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
90*1b3f573fSAndroid Build Coastguard Worker }
91*1b3f573fSAndroid Build Coastguard Worker @end
92*1b3f573fSAndroid Build Coastguard Worker
GPBUInt32Int32Dictionary()93*1b3f573fSAndroid Build Coastguard Worker @interface GPBUInt32Int32Dictionary () <GPBDictionaryInternalsProtocol> {
94*1b3f573fSAndroid Build Coastguard Worker @package
95*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
96*1b3f573fSAndroid Build Coastguard Worker }
97*1b3f573fSAndroid Build Coastguard Worker @end
98*1b3f573fSAndroid Build Coastguard Worker
GPBUInt32UInt64Dictionary()99*1b3f573fSAndroid Build Coastguard Worker @interface GPBUInt32UInt64Dictionary () <GPBDictionaryInternalsProtocol> {
100*1b3f573fSAndroid Build Coastguard Worker @package
101*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
102*1b3f573fSAndroid Build Coastguard Worker }
103*1b3f573fSAndroid Build Coastguard Worker @end
104*1b3f573fSAndroid Build Coastguard Worker
GPBUInt32Int64Dictionary()105*1b3f573fSAndroid Build Coastguard Worker @interface GPBUInt32Int64Dictionary () <GPBDictionaryInternalsProtocol> {
106*1b3f573fSAndroid Build Coastguard Worker @package
107*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
108*1b3f573fSAndroid Build Coastguard Worker }
109*1b3f573fSAndroid Build Coastguard Worker @end
110*1b3f573fSAndroid Build Coastguard Worker
GPBUInt32BoolDictionary()111*1b3f573fSAndroid Build Coastguard Worker @interface GPBUInt32BoolDictionary () <GPBDictionaryInternalsProtocol> {
112*1b3f573fSAndroid Build Coastguard Worker @package
113*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
114*1b3f573fSAndroid Build Coastguard Worker }
115*1b3f573fSAndroid Build Coastguard Worker @end
116*1b3f573fSAndroid Build Coastguard Worker
GPBUInt32FloatDictionary()117*1b3f573fSAndroid Build Coastguard Worker @interface GPBUInt32FloatDictionary () <GPBDictionaryInternalsProtocol> {
118*1b3f573fSAndroid Build Coastguard Worker @package
119*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
120*1b3f573fSAndroid Build Coastguard Worker }
121*1b3f573fSAndroid Build Coastguard Worker @end
122*1b3f573fSAndroid Build Coastguard Worker
GPBUInt32DoubleDictionary()123*1b3f573fSAndroid Build Coastguard Worker @interface GPBUInt32DoubleDictionary () <GPBDictionaryInternalsProtocol> {
124*1b3f573fSAndroid Build Coastguard Worker @package
125*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
126*1b3f573fSAndroid Build Coastguard Worker }
127*1b3f573fSAndroid Build Coastguard Worker @end
128*1b3f573fSAndroid Build Coastguard Worker
GPBUInt32EnumDictionary()129*1b3f573fSAndroid Build Coastguard Worker @interface GPBUInt32EnumDictionary () <GPBDictionaryInternalsProtocol> {
130*1b3f573fSAndroid Build Coastguard Worker @package
131*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
132*1b3f573fSAndroid Build Coastguard Worker }
133*1b3f573fSAndroid Build Coastguard Worker - (NSData *)serializedDataForUnknownValue:(int32_t)value
134*1b3f573fSAndroid Build Coastguard Worker forKey:(GPBGenericValue *)key
135*1b3f573fSAndroid Build Coastguard Worker keyDataType:(GPBDataType)keyDataType;
136*1b3f573fSAndroid Build Coastguard Worker @end
137*1b3f573fSAndroid Build Coastguard Worker
GPBUInt32ObjectDictionary()138*1b3f573fSAndroid Build Coastguard Worker @interface GPBUInt32ObjectDictionary () <GPBDictionaryInternalsProtocol> {
139*1b3f573fSAndroid Build Coastguard Worker @package
140*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
141*1b3f573fSAndroid Build Coastguard Worker }
142*1b3f573fSAndroid Build Coastguard Worker - (BOOL)isInitialized;
143*1b3f573fSAndroid Build Coastguard Worker - (instancetype)deepCopyWithZone:(NSZone *)zone
144*1b3f573fSAndroid Build Coastguard Worker __attribute__((ns_returns_retained));
145*1b3f573fSAndroid Build Coastguard Worker @end
146*1b3f573fSAndroid Build Coastguard Worker
147*1b3f573fSAndroid Build Coastguard Worker // clang-format on
148*1b3f573fSAndroid Build Coastguard Worker //%PDDM-EXPAND DICTIONARY_PRIV_INTERFACES_FOR_POD_KEY(Int32)
149*1b3f573fSAndroid Build Coastguard Worker // This block of code is generated, do not edit it directly.
150*1b3f573fSAndroid Build Coastguard Worker // clang-format off
151*1b3f573fSAndroid Build Coastguard Worker
GPBInt32UInt32Dictionary()152*1b3f573fSAndroid Build Coastguard Worker @interface GPBInt32UInt32Dictionary () <GPBDictionaryInternalsProtocol> {
153*1b3f573fSAndroid Build Coastguard Worker @package
154*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
155*1b3f573fSAndroid Build Coastguard Worker }
156*1b3f573fSAndroid Build Coastguard Worker @end
157*1b3f573fSAndroid Build Coastguard Worker
GPBInt32Int32Dictionary()158*1b3f573fSAndroid Build Coastguard Worker @interface GPBInt32Int32Dictionary () <GPBDictionaryInternalsProtocol> {
159*1b3f573fSAndroid Build Coastguard Worker @package
160*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
161*1b3f573fSAndroid Build Coastguard Worker }
162*1b3f573fSAndroid Build Coastguard Worker @end
163*1b3f573fSAndroid Build Coastguard Worker
GPBInt32UInt64Dictionary()164*1b3f573fSAndroid Build Coastguard Worker @interface GPBInt32UInt64Dictionary () <GPBDictionaryInternalsProtocol> {
165*1b3f573fSAndroid Build Coastguard Worker @package
166*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
167*1b3f573fSAndroid Build Coastguard Worker }
168*1b3f573fSAndroid Build Coastguard Worker @end
169*1b3f573fSAndroid Build Coastguard Worker
GPBInt32Int64Dictionary()170*1b3f573fSAndroid Build Coastguard Worker @interface GPBInt32Int64Dictionary () <GPBDictionaryInternalsProtocol> {
171*1b3f573fSAndroid Build Coastguard Worker @package
172*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
173*1b3f573fSAndroid Build Coastguard Worker }
174*1b3f573fSAndroid Build Coastguard Worker @end
175*1b3f573fSAndroid Build Coastguard Worker
GPBInt32BoolDictionary()176*1b3f573fSAndroid Build Coastguard Worker @interface GPBInt32BoolDictionary () <GPBDictionaryInternalsProtocol> {
177*1b3f573fSAndroid Build Coastguard Worker @package
178*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
179*1b3f573fSAndroid Build Coastguard Worker }
180*1b3f573fSAndroid Build Coastguard Worker @end
181*1b3f573fSAndroid Build Coastguard Worker
GPBInt32FloatDictionary()182*1b3f573fSAndroid Build Coastguard Worker @interface GPBInt32FloatDictionary () <GPBDictionaryInternalsProtocol> {
183*1b3f573fSAndroid Build Coastguard Worker @package
184*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
185*1b3f573fSAndroid Build Coastguard Worker }
186*1b3f573fSAndroid Build Coastguard Worker @end
187*1b3f573fSAndroid Build Coastguard Worker
GPBInt32DoubleDictionary()188*1b3f573fSAndroid Build Coastguard Worker @interface GPBInt32DoubleDictionary () <GPBDictionaryInternalsProtocol> {
189*1b3f573fSAndroid Build Coastguard Worker @package
190*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
191*1b3f573fSAndroid Build Coastguard Worker }
192*1b3f573fSAndroid Build Coastguard Worker @end
193*1b3f573fSAndroid Build Coastguard Worker
GPBInt32EnumDictionary()194*1b3f573fSAndroid Build Coastguard Worker @interface GPBInt32EnumDictionary () <GPBDictionaryInternalsProtocol> {
195*1b3f573fSAndroid Build Coastguard Worker @package
196*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
197*1b3f573fSAndroid Build Coastguard Worker }
198*1b3f573fSAndroid Build Coastguard Worker - (NSData *)serializedDataForUnknownValue:(int32_t)value
199*1b3f573fSAndroid Build Coastguard Worker forKey:(GPBGenericValue *)key
200*1b3f573fSAndroid Build Coastguard Worker keyDataType:(GPBDataType)keyDataType;
201*1b3f573fSAndroid Build Coastguard Worker @end
202*1b3f573fSAndroid Build Coastguard Worker
GPBInt32ObjectDictionary()203*1b3f573fSAndroid Build Coastguard Worker @interface GPBInt32ObjectDictionary () <GPBDictionaryInternalsProtocol> {
204*1b3f573fSAndroid Build Coastguard Worker @package
205*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
206*1b3f573fSAndroid Build Coastguard Worker }
207*1b3f573fSAndroid Build Coastguard Worker - (BOOL)isInitialized;
208*1b3f573fSAndroid Build Coastguard Worker - (instancetype)deepCopyWithZone:(NSZone *)zone
209*1b3f573fSAndroid Build Coastguard Worker __attribute__((ns_returns_retained));
210*1b3f573fSAndroid Build Coastguard Worker @end
211*1b3f573fSAndroid Build Coastguard Worker
212*1b3f573fSAndroid Build Coastguard Worker // clang-format on
213*1b3f573fSAndroid Build Coastguard Worker //%PDDM-EXPAND DICTIONARY_PRIV_INTERFACES_FOR_POD_KEY(UInt64)
214*1b3f573fSAndroid Build Coastguard Worker // This block of code is generated, do not edit it directly.
215*1b3f573fSAndroid Build Coastguard Worker // clang-format off
216*1b3f573fSAndroid Build Coastguard Worker
GPBUInt64UInt32Dictionary()217*1b3f573fSAndroid Build Coastguard Worker @interface GPBUInt64UInt32Dictionary () <GPBDictionaryInternalsProtocol> {
218*1b3f573fSAndroid Build Coastguard Worker @package
219*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
220*1b3f573fSAndroid Build Coastguard Worker }
221*1b3f573fSAndroid Build Coastguard Worker @end
222*1b3f573fSAndroid Build Coastguard Worker
GPBUInt64Int32Dictionary()223*1b3f573fSAndroid Build Coastguard Worker @interface GPBUInt64Int32Dictionary () <GPBDictionaryInternalsProtocol> {
224*1b3f573fSAndroid Build Coastguard Worker @package
225*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
226*1b3f573fSAndroid Build Coastguard Worker }
227*1b3f573fSAndroid Build Coastguard Worker @end
228*1b3f573fSAndroid Build Coastguard Worker
GPBUInt64UInt64Dictionary()229*1b3f573fSAndroid Build Coastguard Worker @interface GPBUInt64UInt64Dictionary () <GPBDictionaryInternalsProtocol> {
230*1b3f573fSAndroid Build Coastguard Worker @package
231*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
232*1b3f573fSAndroid Build Coastguard Worker }
233*1b3f573fSAndroid Build Coastguard Worker @end
234*1b3f573fSAndroid Build Coastguard Worker
GPBUInt64Int64Dictionary()235*1b3f573fSAndroid Build Coastguard Worker @interface GPBUInt64Int64Dictionary () <GPBDictionaryInternalsProtocol> {
236*1b3f573fSAndroid Build Coastguard Worker @package
237*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
238*1b3f573fSAndroid Build Coastguard Worker }
239*1b3f573fSAndroid Build Coastguard Worker @end
240*1b3f573fSAndroid Build Coastguard Worker
GPBUInt64BoolDictionary()241*1b3f573fSAndroid Build Coastguard Worker @interface GPBUInt64BoolDictionary () <GPBDictionaryInternalsProtocol> {
242*1b3f573fSAndroid Build Coastguard Worker @package
243*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
244*1b3f573fSAndroid Build Coastguard Worker }
245*1b3f573fSAndroid Build Coastguard Worker @end
246*1b3f573fSAndroid Build Coastguard Worker
GPBUInt64FloatDictionary()247*1b3f573fSAndroid Build Coastguard Worker @interface GPBUInt64FloatDictionary () <GPBDictionaryInternalsProtocol> {
248*1b3f573fSAndroid Build Coastguard Worker @package
249*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
250*1b3f573fSAndroid Build Coastguard Worker }
251*1b3f573fSAndroid Build Coastguard Worker @end
252*1b3f573fSAndroid Build Coastguard Worker
GPBUInt64DoubleDictionary()253*1b3f573fSAndroid Build Coastguard Worker @interface GPBUInt64DoubleDictionary () <GPBDictionaryInternalsProtocol> {
254*1b3f573fSAndroid Build Coastguard Worker @package
255*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
256*1b3f573fSAndroid Build Coastguard Worker }
257*1b3f573fSAndroid Build Coastguard Worker @end
258*1b3f573fSAndroid Build Coastguard Worker
GPBUInt64EnumDictionary()259*1b3f573fSAndroid Build Coastguard Worker @interface GPBUInt64EnumDictionary () <GPBDictionaryInternalsProtocol> {
260*1b3f573fSAndroid Build Coastguard Worker @package
261*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
262*1b3f573fSAndroid Build Coastguard Worker }
263*1b3f573fSAndroid Build Coastguard Worker - (NSData *)serializedDataForUnknownValue:(int32_t)value
264*1b3f573fSAndroid Build Coastguard Worker forKey:(GPBGenericValue *)key
265*1b3f573fSAndroid Build Coastguard Worker keyDataType:(GPBDataType)keyDataType;
266*1b3f573fSAndroid Build Coastguard Worker @end
267*1b3f573fSAndroid Build Coastguard Worker
GPBUInt64ObjectDictionary()268*1b3f573fSAndroid Build Coastguard Worker @interface GPBUInt64ObjectDictionary () <GPBDictionaryInternalsProtocol> {
269*1b3f573fSAndroid Build Coastguard Worker @package
270*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
271*1b3f573fSAndroid Build Coastguard Worker }
272*1b3f573fSAndroid Build Coastguard Worker - (BOOL)isInitialized;
273*1b3f573fSAndroid Build Coastguard Worker - (instancetype)deepCopyWithZone:(NSZone *)zone
274*1b3f573fSAndroid Build Coastguard Worker __attribute__((ns_returns_retained));
275*1b3f573fSAndroid Build Coastguard Worker @end
276*1b3f573fSAndroid Build Coastguard Worker
277*1b3f573fSAndroid Build Coastguard Worker // clang-format on
278*1b3f573fSAndroid Build Coastguard Worker //%PDDM-EXPAND DICTIONARY_PRIV_INTERFACES_FOR_POD_KEY(Int64)
279*1b3f573fSAndroid Build Coastguard Worker // This block of code is generated, do not edit it directly.
280*1b3f573fSAndroid Build Coastguard Worker // clang-format off
281*1b3f573fSAndroid Build Coastguard Worker
GPBInt64UInt32Dictionary()282*1b3f573fSAndroid Build Coastguard Worker @interface GPBInt64UInt32Dictionary () <GPBDictionaryInternalsProtocol> {
283*1b3f573fSAndroid Build Coastguard Worker @package
284*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
285*1b3f573fSAndroid Build Coastguard Worker }
286*1b3f573fSAndroid Build Coastguard Worker @end
287*1b3f573fSAndroid Build Coastguard Worker
GPBInt64Int32Dictionary()288*1b3f573fSAndroid Build Coastguard Worker @interface GPBInt64Int32Dictionary () <GPBDictionaryInternalsProtocol> {
289*1b3f573fSAndroid Build Coastguard Worker @package
290*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
291*1b3f573fSAndroid Build Coastguard Worker }
292*1b3f573fSAndroid Build Coastguard Worker @end
293*1b3f573fSAndroid Build Coastguard Worker
GPBInt64UInt64Dictionary()294*1b3f573fSAndroid Build Coastguard Worker @interface GPBInt64UInt64Dictionary () <GPBDictionaryInternalsProtocol> {
295*1b3f573fSAndroid Build Coastguard Worker @package
296*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
297*1b3f573fSAndroid Build Coastguard Worker }
298*1b3f573fSAndroid Build Coastguard Worker @end
299*1b3f573fSAndroid Build Coastguard Worker
GPBInt64Int64Dictionary()300*1b3f573fSAndroid Build Coastguard Worker @interface GPBInt64Int64Dictionary () <GPBDictionaryInternalsProtocol> {
301*1b3f573fSAndroid Build Coastguard Worker @package
302*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
303*1b3f573fSAndroid Build Coastguard Worker }
304*1b3f573fSAndroid Build Coastguard Worker @end
305*1b3f573fSAndroid Build Coastguard Worker
GPBInt64BoolDictionary()306*1b3f573fSAndroid Build Coastguard Worker @interface GPBInt64BoolDictionary () <GPBDictionaryInternalsProtocol> {
307*1b3f573fSAndroid Build Coastguard Worker @package
308*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
309*1b3f573fSAndroid Build Coastguard Worker }
310*1b3f573fSAndroid Build Coastguard Worker @end
311*1b3f573fSAndroid Build Coastguard Worker
GPBInt64FloatDictionary()312*1b3f573fSAndroid Build Coastguard Worker @interface GPBInt64FloatDictionary () <GPBDictionaryInternalsProtocol> {
313*1b3f573fSAndroid Build Coastguard Worker @package
314*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
315*1b3f573fSAndroid Build Coastguard Worker }
316*1b3f573fSAndroid Build Coastguard Worker @end
317*1b3f573fSAndroid Build Coastguard Worker
GPBInt64DoubleDictionary()318*1b3f573fSAndroid Build Coastguard Worker @interface GPBInt64DoubleDictionary () <GPBDictionaryInternalsProtocol> {
319*1b3f573fSAndroid Build Coastguard Worker @package
320*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
321*1b3f573fSAndroid Build Coastguard Worker }
322*1b3f573fSAndroid Build Coastguard Worker @end
323*1b3f573fSAndroid Build Coastguard Worker
GPBInt64EnumDictionary()324*1b3f573fSAndroid Build Coastguard Worker @interface GPBInt64EnumDictionary () <GPBDictionaryInternalsProtocol> {
325*1b3f573fSAndroid Build Coastguard Worker @package
326*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
327*1b3f573fSAndroid Build Coastguard Worker }
328*1b3f573fSAndroid Build Coastguard Worker - (NSData *)serializedDataForUnknownValue:(int32_t)value
329*1b3f573fSAndroid Build Coastguard Worker forKey:(GPBGenericValue *)key
330*1b3f573fSAndroid Build Coastguard Worker keyDataType:(GPBDataType)keyDataType;
331*1b3f573fSAndroid Build Coastguard Worker @end
332*1b3f573fSAndroid Build Coastguard Worker
GPBInt64ObjectDictionary()333*1b3f573fSAndroid Build Coastguard Worker @interface GPBInt64ObjectDictionary () <GPBDictionaryInternalsProtocol> {
334*1b3f573fSAndroid Build Coastguard Worker @package
335*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
336*1b3f573fSAndroid Build Coastguard Worker }
337*1b3f573fSAndroid Build Coastguard Worker - (BOOL)isInitialized;
338*1b3f573fSAndroid Build Coastguard Worker - (instancetype)deepCopyWithZone:(NSZone *)zone
339*1b3f573fSAndroid Build Coastguard Worker __attribute__((ns_returns_retained));
340*1b3f573fSAndroid Build Coastguard Worker @end
341*1b3f573fSAndroid Build Coastguard Worker
342*1b3f573fSAndroid Build Coastguard Worker // clang-format on
343*1b3f573fSAndroid Build Coastguard Worker //%PDDM-EXPAND DICTIONARY_PRIV_INTERFACES_FOR_POD_KEY(Bool)
344*1b3f573fSAndroid Build Coastguard Worker // This block of code is generated, do not edit it directly.
345*1b3f573fSAndroid Build Coastguard Worker // clang-format off
346*1b3f573fSAndroid Build Coastguard Worker
GPBBoolUInt32Dictionary()347*1b3f573fSAndroid Build Coastguard Worker @interface GPBBoolUInt32Dictionary () <GPBDictionaryInternalsProtocol> {
348*1b3f573fSAndroid Build Coastguard Worker @package
349*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
350*1b3f573fSAndroid Build Coastguard Worker }
351*1b3f573fSAndroid Build Coastguard Worker @end
352*1b3f573fSAndroid Build Coastguard Worker
GPBBoolInt32Dictionary()353*1b3f573fSAndroid Build Coastguard Worker @interface GPBBoolInt32Dictionary () <GPBDictionaryInternalsProtocol> {
354*1b3f573fSAndroid Build Coastguard Worker @package
355*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
356*1b3f573fSAndroid Build Coastguard Worker }
357*1b3f573fSAndroid Build Coastguard Worker @end
358*1b3f573fSAndroid Build Coastguard Worker
GPBBoolUInt64Dictionary()359*1b3f573fSAndroid Build Coastguard Worker @interface GPBBoolUInt64Dictionary () <GPBDictionaryInternalsProtocol> {
360*1b3f573fSAndroid Build Coastguard Worker @package
361*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
362*1b3f573fSAndroid Build Coastguard Worker }
363*1b3f573fSAndroid Build Coastguard Worker @end
364*1b3f573fSAndroid Build Coastguard Worker
GPBBoolInt64Dictionary()365*1b3f573fSAndroid Build Coastguard Worker @interface GPBBoolInt64Dictionary () <GPBDictionaryInternalsProtocol> {
366*1b3f573fSAndroid Build Coastguard Worker @package
367*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
368*1b3f573fSAndroid Build Coastguard Worker }
369*1b3f573fSAndroid Build Coastguard Worker @end
370*1b3f573fSAndroid Build Coastguard Worker
GPBBoolBoolDictionary()371*1b3f573fSAndroid Build Coastguard Worker @interface GPBBoolBoolDictionary () <GPBDictionaryInternalsProtocol> {
372*1b3f573fSAndroid Build Coastguard Worker @package
373*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
374*1b3f573fSAndroid Build Coastguard Worker }
375*1b3f573fSAndroid Build Coastguard Worker @end
376*1b3f573fSAndroid Build Coastguard Worker
GPBBoolFloatDictionary()377*1b3f573fSAndroid Build Coastguard Worker @interface GPBBoolFloatDictionary () <GPBDictionaryInternalsProtocol> {
378*1b3f573fSAndroid Build Coastguard Worker @package
379*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
380*1b3f573fSAndroid Build Coastguard Worker }
381*1b3f573fSAndroid Build Coastguard Worker @end
382*1b3f573fSAndroid Build Coastguard Worker
GPBBoolDoubleDictionary()383*1b3f573fSAndroid Build Coastguard Worker @interface GPBBoolDoubleDictionary () <GPBDictionaryInternalsProtocol> {
384*1b3f573fSAndroid Build Coastguard Worker @package
385*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
386*1b3f573fSAndroid Build Coastguard Worker }
387*1b3f573fSAndroid Build Coastguard Worker @end
388*1b3f573fSAndroid Build Coastguard Worker
GPBBoolEnumDictionary()389*1b3f573fSAndroid Build Coastguard Worker @interface GPBBoolEnumDictionary () <GPBDictionaryInternalsProtocol> {
390*1b3f573fSAndroid Build Coastguard Worker @package
391*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
392*1b3f573fSAndroid Build Coastguard Worker }
393*1b3f573fSAndroid Build Coastguard Worker - (NSData *)serializedDataForUnknownValue:(int32_t)value
394*1b3f573fSAndroid Build Coastguard Worker forKey:(GPBGenericValue *)key
395*1b3f573fSAndroid Build Coastguard Worker keyDataType:(GPBDataType)keyDataType;
396*1b3f573fSAndroid Build Coastguard Worker @end
397*1b3f573fSAndroid Build Coastguard Worker
GPBBoolObjectDictionary()398*1b3f573fSAndroid Build Coastguard Worker @interface GPBBoolObjectDictionary () <GPBDictionaryInternalsProtocol> {
399*1b3f573fSAndroid Build Coastguard Worker @package
400*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
401*1b3f573fSAndroid Build Coastguard Worker }
402*1b3f573fSAndroid Build Coastguard Worker - (BOOL)isInitialized;
403*1b3f573fSAndroid Build Coastguard Worker - (instancetype)deepCopyWithZone:(NSZone *)zone
404*1b3f573fSAndroid Build Coastguard Worker __attribute__((ns_returns_retained));
405*1b3f573fSAndroid Build Coastguard Worker @end
406*1b3f573fSAndroid Build Coastguard Worker
407*1b3f573fSAndroid Build Coastguard Worker // clang-format on
408*1b3f573fSAndroid Build Coastguard Worker //%PDDM-EXPAND DICTIONARY_POD_PRIV_INTERFACES_FOR_KEY(String)
409*1b3f573fSAndroid Build Coastguard Worker // This block of code is generated, do not edit it directly.
410*1b3f573fSAndroid Build Coastguard Worker // clang-format off
411*1b3f573fSAndroid Build Coastguard Worker
GPBStringUInt32Dictionary()412*1b3f573fSAndroid Build Coastguard Worker @interface GPBStringUInt32Dictionary () <GPBDictionaryInternalsProtocol> {
413*1b3f573fSAndroid Build Coastguard Worker @package
414*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
415*1b3f573fSAndroid Build Coastguard Worker }
416*1b3f573fSAndroid Build Coastguard Worker @end
417*1b3f573fSAndroid Build Coastguard Worker
GPBStringInt32Dictionary()418*1b3f573fSAndroid Build Coastguard Worker @interface GPBStringInt32Dictionary () <GPBDictionaryInternalsProtocol> {
419*1b3f573fSAndroid Build Coastguard Worker @package
420*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
421*1b3f573fSAndroid Build Coastguard Worker }
422*1b3f573fSAndroid Build Coastguard Worker @end
423*1b3f573fSAndroid Build Coastguard Worker
GPBStringUInt64Dictionary()424*1b3f573fSAndroid Build Coastguard Worker @interface GPBStringUInt64Dictionary () <GPBDictionaryInternalsProtocol> {
425*1b3f573fSAndroid Build Coastguard Worker @package
426*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
427*1b3f573fSAndroid Build Coastguard Worker }
428*1b3f573fSAndroid Build Coastguard Worker @end
429*1b3f573fSAndroid Build Coastguard Worker
GPBStringInt64Dictionary()430*1b3f573fSAndroid Build Coastguard Worker @interface GPBStringInt64Dictionary () <GPBDictionaryInternalsProtocol> {
431*1b3f573fSAndroid Build Coastguard Worker @package
432*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
433*1b3f573fSAndroid Build Coastguard Worker }
434*1b3f573fSAndroid Build Coastguard Worker @end
435*1b3f573fSAndroid Build Coastguard Worker
GPBStringBoolDictionary()436*1b3f573fSAndroid Build Coastguard Worker @interface GPBStringBoolDictionary () <GPBDictionaryInternalsProtocol> {
437*1b3f573fSAndroid Build Coastguard Worker @package
438*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
439*1b3f573fSAndroid Build Coastguard Worker }
440*1b3f573fSAndroid Build Coastguard Worker @end
441*1b3f573fSAndroid Build Coastguard Worker
GPBStringFloatDictionary()442*1b3f573fSAndroid Build Coastguard Worker @interface GPBStringFloatDictionary () <GPBDictionaryInternalsProtocol> {
443*1b3f573fSAndroid Build Coastguard Worker @package
444*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
445*1b3f573fSAndroid Build Coastguard Worker }
446*1b3f573fSAndroid Build Coastguard Worker @end
447*1b3f573fSAndroid Build Coastguard Worker
GPBStringDoubleDictionary()448*1b3f573fSAndroid Build Coastguard Worker @interface GPBStringDoubleDictionary () <GPBDictionaryInternalsProtocol> {
449*1b3f573fSAndroid Build Coastguard Worker @package
450*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
451*1b3f573fSAndroid Build Coastguard Worker }
452*1b3f573fSAndroid Build Coastguard Worker @end
453*1b3f573fSAndroid Build Coastguard Worker
GPBStringEnumDictionary()454*1b3f573fSAndroid Build Coastguard Worker @interface GPBStringEnumDictionary () <GPBDictionaryInternalsProtocol> {
455*1b3f573fSAndroid Build Coastguard Worker @package
456*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
457*1b3f573fSAndroid Build Coastguard Worker }
458*1b3f573fSAndroid Build Coastguard Worker - (NSData *)serializedDataForUnknownValue:(int32_t)value
459*1b3f573fSAndroid Build Coastguard Worker forKey:(GPBGenericValue *)key
460*1b3f573fSAndroid Build Coastguard Worker keyDataType:(GPBDataType)keyDataType;
461*1b3f573fSAndroid Build Coastguard Worker @end
462*1b3f573fSAndroid Build Coastguard Worker
463*1b3f573fSAndroid Build Coastguard Worker // clang-format on
464*1b3f573fSAndroid Build Coastguard Worker //%PDDM-EXPAND-END (6 expansions)
465*1b3f573fSAndroid Build Coastguard Worker
466*1b3f573fSAndroid Build Coastguard Worker #pragma mark - NSDictionary Subclass
467*1b3f573fSAndroid Build Coastguard Worker
468*1b3f573fSAndroid Build Coastguard Worker @interface GPBAutocreatedDictionary : NSMutableDictionary {
469*1b3f573fSAndroid Build Coastguard Worker @package
470*1b3f573fSAndroid Build Coastguard Worker GPB_UNSAFE_UNRETAINED GPBMessage *_autocreator;
471*1b3f573fSAndroid Build Coastguard Worker }
472*1b3f573fSAndroid Build Coastguard Worker @end
473*1b3f573fSAndroid Build Coastguard Worker
474*1b3f573fSAndroid Build Coastguard Worker #pragma mark - Helpers
475*1b3f573fSAndroid Build Coastguard Worker
476*1b3f573fSAndroid Build Coastguard Worker CF_EXTERN_C_BEGIN
477*1b3f573fSAndroid Build Coastguard Worker
478*1b3f573fSAndroid Build Coastguard Worker // Helper to compute size when an NSDictionary is used for the map instead
479*1b3f573fSAndroid Build Coastguard Worker // of a custom type.
480*1b3f573fSAndroid Build Coastguard Worker size_t GPBDictionaryComputeSizeInternalHelper(NSDictionary *dict,
481*1b3f573fSAndroid Build Coastguard Worker GPBFieldDescriptor *field);
482*1b3f573fSAndroid Build Coastguard Worker
483*1b3f573fSAndroid Build Coastguard Worker // Helper to write out when an NSDictionary is used for the map instead
484*1b3f573fSAndroid Build Coastguard Worker // of a custom type.
485*1b3f573fSAndroid Build Coastguard Worker void GPBDictionaryWriteToStreamInternalHelper(
486*1b3f573fSAndroid Build Coastguard Worker GPBCodedOutputStream *outputStream, NSDictionary *dict,
487*1b3f573fSAndroid Build Coastguard Worker GPBFieldDescriptor *field);
488*1b3f573fSAndroid Build Coastguard Worker
489*1b3f573fSAndroid Build Coastguard Worker // Helper to check message initialization when an NSDictionary is used for
490*1b3f573fSAndroid Build Coastguard Worker // the map instead of a custom type.
491*1b3f573fSAndroid Build Coastguard Worker BOOL GPBDictionaryIsInitializedInternalHelper(NSDictionary *dict,
492*1b3f573fSAndroid Build Coastguard Worker GPBFieldDescriptor *field);
493*1b3f573fSAndroid Build Coastguard Worker
494*1b3f573fSAndroid Build Coastguard Worker // Helper to read a map instead.
495*1b3f573fSAndroid Build Coastguard Worker void GPBDictionaryReadEntry(id mapDictionary, GPBCodedInputStream *stream,
496*1b3f573fSAndroid Build Coastguard Worker GPBExtensionRegistry *registry,
497*1b3f573fSAndroid Build Coastguard Worker GPBFieldDescriptor *field,
498*1b3f573fSAndroid Build Coastguard Worker GPBMessage *parentMessage);
499*1b3f573fSAndroid Build Coastguard Worker
500*1b3f573fSAndroid Build Coastguard Worker CF_EXTERN_C_END
501