GPBDictionary_PackagePrivate.h 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577
  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. #import <Foundation/Foundation.h>
  31. #import "GPBDictionary.h"
  32. @class GPBCodedInputStream;
  33. @class GPBCodedOutputStream;
  34. @class GPBExtensionRegistry;
  35. @class GPBFieldDescriptor;
  36. //%PDDM-DEFINE DICTIONARY_PRIV_INTERFACES_FOR_POD_KEY(KEY_NAME)
  37. //%DICTIONARY_POD_PRIV_INTERFACES_FOR_KEY(KEY_NAME)
  38. //%DICTIONARY_PRIVATE_INTERFACES(KEY_NAME, Object, Object)
  39. //%PDDM-DEFINE DICTIONARY_POD_PRIV_INTERFACES_FOR_KEY(KEY_NAME)
  40. //%DICTIONARY_PRIVATE_INTERFACES(KEY_NAME, UInt32, Basic)
  41. //%DICTIONARY_PRIVATE_INTERFACES(KEY_NAME, Int32, Basic)
  42. //%DICTIONARY_PRIVATE_INTERFACES(KEY_NAME, UInt64, Basic)
  43. //%DICTIONARY_PRIVATE_INTERFACES(KEY_NAME, Int64, Basic)
  44. //%DICTIONARY_PRIVATE_INTERFACES(KEY_NAME, Bool, Basic)
  45. //%DICTIONARY_PRIVATE_INTERFACES(KEY_NAME, Float, Basic)
  46. //%DICTIONARY_PRIVATE_INTERFACES(KEY_NAME, Double, Basic)
  47. //%DICTIONARY_PRIVATE_INTERFACES(KEY_NAME, Enum, Enum)
  48. //%PDDM-DEFINE DICTIONARY_PRIVATE_INTERFACES(KEY_NAME, VALUE_NAME, HELPER)
  49. //%@interface GPB##KEY_NAME##VALUE_NAME##Dictionary ()
  50. //%- (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  51. //%- (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  52. //% asField:(GPBFieldDescriptor *)field;
  53. //%- (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  54. //%- (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  55. //%EXTRA_DICTIONARY_PRIVATE_INTERFACES_##HELPER()@end
  56. //%
  57. //%PDDM-DEFINE EXTRA_DICTIONARY_PRIVATE_INTERFACES_Basic()
  58. // Empty
  59. //%PDDM-DEFINE EXTRA_DICTIONARY_PRIVATE_INTERFACES_Object()
  60. //%- (BOOL)isInitialized;
  61. //%- (instancetype)deepCopyWithZone:(NSZone *)zone
  62. //% __attribute__((ns_returns_retained));
  63. //%
  64. //%PDDM-DEFINE EXTRA_DICTIONARY_PRIVATE_INTERFACES_Enum()
  65. //%- (NSData *)serializedDataForUnknownValue:(int32_t)value
  66. //% forKey:(GPBValue *)key
  67. //% keyType:(GPBType)keyType;
  68. //%
  69. //%PDDM-EXPAND DICTIONARY_PRIV_INTERFACES_FOR_POD_KEY(UInt32)
  70. // This block of code is generated, do not edit it directly.
  71. @interface GPBUInt32UInt32Dictionary ()
  72. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  73. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  74. asField:(GPBFieldDescriptor *)field;
  75. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  76. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  77. @end
  78. @interface GPBUInt32Int32Dictionary ()
  79. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  80. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  81. asField:(GPBFieldDescriptor *)field;
  82. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  83. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  84. @end
  85. @interface GPBUInt32UInt64Dictionary ()
  86. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  87. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  88. asField:(GPBFieldDescriptor *)field;
  89. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  90. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  91. @end
  92. @interface GPBUInt32Int64Dictionary ()
  93. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  94. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  95. asField:(GPBFieldDescriptor *)field;
  96. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  97. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  98. @end
  99. @interface GPBUInt32BoolDictionary ()
  100. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  101. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  102. asField:(GPBFieldDescriptor *)field;
  103. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  104. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  105. @end
  106. @interface GPBUInt32FloatDictionary ()
  107. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  108. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  109. asField:(GPBFieldDescriptor *)field;
  110. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  111. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  112. @end
  113. @interface GPBUInt32DoubleDictionary ()
  114. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  115. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  116. asField:(GPBFieldDescriptor *)field;
  117. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  118. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  119. @end
  120. @interface GPBUInt32EnumDictionary ()
  121. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  122. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  123. asField:(GPBFieldDescriptor *)field;
  124. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  125. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  126. - (NSData *)serializedDataForUnknownValue:(int32_t)value
  127. forKey:(GPBValue *)key
  128. keyType:(GPBType)keyType;
  129. @end
  130. @interface GPBUInt32ObjectDictionary ()
  131. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  132. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  133. asField:(GPBFieldDescriptor *)field;
  134. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  135. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  136. - (BOOL)isInitialized;
  137. - (instancetype)deepCopyWithZone:(NSZone *)zone
  138. __attribute__((ns_returns_retained));
  139. @end
  140. //%PDDM-EXPAND DICTIONARY_PRIV_INTERFACES_FOR_POD_KEY(Int32)
  141. // This block of code is generated, do not edit it directly.
  142. @interface GPBInt32UInt32Dictionary ()
  143. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  144. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  145. asField:(GPBFieldDescriptor *)field;
  146. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  147. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  148. @end
  149. @interface GPBInt32Int32Dictionary ()
  150. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  151. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  152. asField:(GPBFieldDescriptor *)field;
  153. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  154. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  155. @end
  156. @interface GPBInt32UInt64Dictionary ()
  157. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  158. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  159. asField:(GPBFieldDescriptor *)field;
  160. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  161. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  162. @end
  163. @interface GPBInt32Int64Dictionary ()
  164. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  165. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  166. asField:(GPBFieldDescriptor *)field;
  167. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  168. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  169. @end
  170. @interface GPBInt32BoolDictionary ()
  171. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  172. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  173. asField:(GPBFieldDescriptor *)field;
  174. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  175. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  176. @end
  177. @interface GPBInt32FloatDictionary ()
  178. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  179. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  180. asField:(GPBFieldDescriptor *)field;
  181. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  182. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  183. @end
  184. @interface GPBInt32DoubleDictionary ()
  185. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  186. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  187. asField:(GPBFieldDescriptor *)field;
  188. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  189. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  190. @end
  191. @interface GPBInt32EnumDictionary ()
  192. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  193. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  194. asField:(GPBFieldDescriptor *)field;
  195. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  196. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  197. - (NSData *)serializedDataForUnknownValue:(int32_t)value
  198. forKey:(GPBValue *)key
  199. keyType:(GPBType)keyType;
  200. @end
  201. @interface GPBInt32ObjectDictionary ()
  202. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  203. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  204. asField:(GPBFieldDescriptor *)field;
  205. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  206. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  207. - (BOOL)isInitialized;
  208. - (instancetype)deepCopyWithZone:(NSZone *)zone
  209. __attribute__((ns_returns_retained));
  210. @end
  211. //%PDDM-EXPAND DICTIONARY_PRIV_INTERFACES_FOR_POD_KEY(UInt64)
  212. // This block of code is generated, do not edit it directly.
  213. @interface GPBUInt64UInt32Dictionary ()
  214. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  215. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  216. asField:(GPBFieldDescriptor *)field;
  217. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  218. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  219. @end
  220. @interface GPBUInt64Int32Dictionary ()
  221. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  222. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  223. asField:(GPBFieldDescriptor *)field;
  224. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  225. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  226. @end
  227. @interface GPBUInt64UInt64Dictionary ()
  228. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  229. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  230. asField:(GPBFieldDescriptor *)field;
  231. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  232. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  233. @end
  234. @interface GPBUInt64Int64Dictionary ()
  235. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  236. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  237. asField:(GPBFieldDescriptor *)field;
  238. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  239. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  240. @end
  241. @interface GPBUInt64BoolDictionary ()
  242. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  243. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  244. asField:(GPBFieldDescriptor *)field;
  245. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  246. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  247. @end
  248. @interface GPBUInt64FloatDictionary ()
  249. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  250. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  251. asField:(GPBFieldDescriptor *)field;
  252. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  253. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  254. @end
  255. @interface GPBUInt64DoubleDictionary ()
  256. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  257. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  258. asField:(GPBFieldDescriptor *)field;
  259. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  260. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  261. @end
  262. @interface GPBUInt64EnumDictionary ()
  263. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  264. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  265. asField:(GPBFieldDescriptor *)field;
  266. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  267. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  268. - (NSData *)serializedDataForUnknownValue:(int32_t)value
  269. forKey:(GPBValue *)key
  270. keyType:(GPBType)keyType;
  271. @end
  272. @interface GPBUInt64ObjectDictionary ()
  273. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  274. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  275. asField:(GPBFieldDescriptor *)field;
  276. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  277. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  278. - (BOOL)isInitialized;
  279. - (instancetype)deepCopyWithZone:(NSZone *)zone
  280. __attribute__((ns_returns_retained));
  281. @end
  282. //%PDDM-EXPAND DICTIONARY_PRIV_INTERFACES_FOR_POD_KEY(Int64)
  283. // This block of code is generated, do not edit it directly.
  284. @interface GPBInt64UInt32Dictionary ()
  285. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  286. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  287. asField:(GPBFieldDescriptor *)field;
  288. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  289. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  290. @end
  291. @interface GPBInt64Int32Dictionary ()
  292. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  293. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  294. asField:(GPBFieldDescriptor *)field;
  295. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  296. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  297. @end
  298. @interface GPBInt64UInt64Dictionary ()
  299. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  300. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  301. asField:(GPBFieldDescriptor *)field;
  302. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  303. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  304. @end
  305. @interface GPBInt64Int64Dictionary ()
  306. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  307. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  308. asField:(GPBFieldDescriptor *)field;
  309. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  310. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  311. @end
  312. @interface GPBInt64BoolDictionary ()
  313. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  314. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  315. asField:(GPBFieldDescriptor *)field;
  316. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  317. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  318. @end
  319. @interface GPBInt64FloatDictionary ()
  320. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  321. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  322. asField:(GPBFieldDescriptor *)field;
  323. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  324. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  325. @end
  326. @interface GPBInt64DoubleDictionary ()
  327. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  328. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  329. asField:(GPBFieldDescriptor *)field;
  330. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  331. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  332. @end
  333. @interface GPBInt64EnumDictionary ()
  334. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  335. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  336. asField:(GPBFieldDescriptor *)field;
  337. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  338. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  339. - (NSData *)serializedDataForUnknownValue:(int32_t)value
  340. forKey:(GPBValue *)key
  341. keyType:(GPBType)keyType;
  342. @end
  343. @interface GPBInt64ObjectDictionary ()
  344. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  345. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  346. asField:(GPBFieldDescriptor *)field;
  347. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  348. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  349. - (BOOL)isInitialized;
  350. - (instancetype)deepCopyWithZone:(NSZone *)zone
  351. __attribute__((ns_returns_retained));
  352. @end
  353. //%PDDM-EXPAND DICTIONARY_PRIV_INTERFACES_FOR_POD_KEY(Bool)
  354. // This block of code is generated, do not edit it directly.
  355. @interface GPBBoolUInt32Dictionary ()
  356. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  357. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  358. asField:(GPBFieldDescriptor *)field;
  359. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  360. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  361. @end
  362. @interface GPBBoolInt32Dictionary ()
  363. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  364. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  365. asField:(GPBFieldDescriptor *)field;
  366. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  367. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  368. @end
  369. @interface GPBBoolUInt64Dictionary ()
  370. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  371. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  372. asField:(GPBFieldDescriptor *)field;
  373. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  374. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  375. @end
  376. @interface GPBBoolInt64Dictionary ()
  377. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  378. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  379. asField:(GPBFieldDescriptor *)field;
  380. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  381. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  382. @end
  383. @interface GPBBoolBoolDictionary ()
  384. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  385. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  386. asField:(GPBFieldDescriptor *)field;
  387. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  388. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  389. @end
  390. @interface GPBBoolFloatDictionary ()
  391. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  392. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  393. asField:(GPBFieldDescriptor *)field;
  394. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  395. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  396. @end
  397. @interface GPBBoolDoubleDictionary ()
  398. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  399. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  400. asField:(GPBFieldDescriptor *)field;
  401. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  402. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  403. @end
  404. @interface GPBBoolEnumDictionary ()
  405. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  406. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  407. asField:(GPBFieldDescriptor *)field;
  408. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  409. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  410. - (NSData *)serializedDataForUnknownValue:(int32_t)value
  411. forKey:(GPBValue *)key
  412. keyType:(GPBType)keyType;
  413. @end
  414. @interface GPBBoolObjectDictionary ()
  415. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  416. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  417. asField:(GPBFieldDescriptor *)field;
  418. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  419. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  420. - (BOOL)isInitialized;
  421. - (instancetype)deepCopyWithZone:(NSZone *)zone
  422. __attribute__((ns_returns_retained));
  423. @end
  424. //%PDDM-EXPAND DICTIONARY_POD_PRIV_INTERFACES_FOR_KEY(String)
  425. // This block of code is generated, do not edit it directly.
  426. @interface GPBStringUInt32Dictionary ()
  427. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  428. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  429. asField:(GPBFieldDescriptor *)field;
  430. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  431. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  432. @end
  433. @interface GPBStringInt32Dictionary ()
  434. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  435. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  436. asField:(GPBFieldDescriptor *)field;
  437. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  438. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  439. @end
  440. @interface GPBStringUInt64Dictionary ()
  441. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  442. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  443. asField:(GPBFieldDescriptor *)field;
  444. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  445. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  446. @end
  447. @interface GPBStringInt64Dictionary ()
  448. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  449. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  450. asField:(GPBFieldDescriptor *)field;
  451. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  452. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  453. @end
  454. @interface GPBStringBoolDictionary ()
  455. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  456. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  457. asField:(GPBFieldDescriptor *)field;
  458. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  459. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  460. @end
  461. @interface GPBStringFloatDictionary ()
  462. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  463. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  464. asField:(GPBFieldDescriptor *)field;
  465. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  466. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  467. @end
  468. @interface GPBStringDoubleDictionary ()
  469. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  470. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  471. asField:(GPBFieldDescriptor *)field;
  472. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  473. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  474. @end
  475. @interface GPBStringEnumDictionary ()
  476. - (size_t)computeSerializedSizeAsField:(GPBFieldDescriptor *)field;
  477. - (void)writeToCodedOutputStream:(GPBCodedOutputStream *)outputStream
  478. asField:(GPBFieldDescriptor *)field;
  479. - (void)setGPBValue:(GPBValue *)value forGPBValueKey:(GPBValue *)key;
  480. - (void)enumerateForTextFormat:(void (^)(id keyObj, id valueObj))block;
  481. - (NSData *)serializedDataForUnknownValue:(int32_t)value
  482. forKey:(GPBValue *)key
  483. keyType:(GPBType)keyType;
  484. @end
  485. //%PDDM-EXPAND-END (6 expansions)
  486. CF_EXTERN_C_BEGIN
  487. // Helper to compute size when an NSDictionary is used for the map instead
  488. // of a custom type.
  489. size_t GPBDictionaryComputeSizeInternalHelper(NSDictionary *dict,
  490. GPBFieldDescriptor *field);
  491. // Helper to write out when an NSDictionary is used for the map instead
  492. // of a custom type.
  493. void GPBDictionaryWriteToStreamInternalHelper(
  494. GPBCodedOutputStream *outputStream, NSDictionary *dict,
  495. GPBFieldDescriptor *field);
  496. // Helper to check message initialization when an NSDictionary is used for
  497. // the map instead of a custom type.
  498. BOOL GPBDictionaryIsInitializedInternalHelper(NSDictionary *dict,
  499. GPBFieldDescriptor *field);
  500. // Helper to read a map instead.
  501. void GPBDictionaryReadEntry(id mapDictionary, GPBCodedInputStream *stream,
  502. GPBExtensionRegistry *registry,
  503. GPBFieldDescriptor *field,
  504. GPBMessage *parentMessage);
  505. CF_EXTERN_C_END