libsheepy
libsheepyCSmallDict.h
Go to the documentation of this file.
1 // MIT License
2 //
3 // Copyright (c) 2023 Remy Noulin
4 //
5 // Permission is hereby granted, free of charge, to any person obtaining a copy
6 // of this software and associated documentation files (the "Software"), to deal
7 // in the Software without restriction, including without limitation the rights
8 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 // copies of the Software, and to permit persons to whom the Software is
10 // furnished to do so, subject to the following conditions:
11 //
12 // The above copyright notice and this permission notice shall be included in all
13 // copies or substantial portions of the Software.
14 //
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 // SOFTWARE.
22 #pragma once
23 
24 #include "../libsheepyObject.h"
25 
26 // Class smallDict
27 typedef struct smallDict smallDictt;
28 
34 #define helpTextSmallDict "TODO smallDict help brief, class description /*, definitions,*/ methods, examples"
35 
36 // for object inheriting smallDict, cast to smallDict to be able to use this class functions and generics
37 #define cDi(self) ( (smallDictt*) self )
38 
39 // base
40 
41 typedef void (*freeSmallDictFt) (smallDictt *self);
42 typedef void (*terminateSmallDictFt) (smallDictt **self);
43 typedef char* (*toStringSmallDictFt) (smallDictt *self);
44 typedef smallDictt* (*duplicateSmallDictFt) (smallDictt *self);
45 
46 // smallDict functions
47 
48 typedef char* (*escapeSmallDictFt) (smallDictt *self);
49 
56 typedef void (*disposeSmallDictFt) (smallDictt *self);
57 
64 typedef void (*smashSmallDictFt) (smallDictt **self);
65 
69 typedef void (*finishSmallDictFt) (smallDictt **self);
70 
71 typedef const char* (*helpSmallDictFt) (smallDictt *self);
72 
89 typedef void (*resetSmallDictFt) (smallDictt *self);
90 
94 typedef sDictt* (*getsoSmallDictFt) (smallDictt *self);
95 
100 typedef void (*setsoSmallDictFt) (smallDictt *self, sDictt *so);
101 
107 typedef smallDictt* (*mirrorSmallDictFt) (smallDictt *self);
108 
129 typedef smallDictt* (*setSmallDictFt) (smallDictt *self, const char *key, baset *value);
130 typedef smallDictt* (*setUndefinedSmallDictFt)(smallDictt *self, const char *key);
131 typedef smallDictt* (*setBoolSmallDictFt) (smallDictt *self, const char *key, bool value);
132 typedef smallDictt* (*setDoubleSmallDictFt) (smallDictt *self, const char *key, double value);
133 typedef smallDictt* (*setIntSmallDictFt) (smallDictt *self, const char *key, int64_t value);
134 typedef smallDictt* (*setSSmallDictFt) (smallDictt *self, const char *key, const char *string);
135 typedef smallDictt* (*setCharSmallDictFt) (smallDictt *self, const char *key, char c);
136 typedef smallDictt* (*setDictSmallDictFt) (smallDictt *self, const char *key, smallDictt *dict);
137 typedef smallDictt* (*setArraySmallDictFt) (smallDictt *self, const char *key, smallArrayt *array);
138 typedef smallDictt* (*setArraycSmallDictFt) (smallDictt *self, const char *key, char **array);
139 typedef smallDictt* (*setCArraycSmallDictFt) (smallDictt *self, const char *key, const char **array);
140 typedef smallDictt* (*setSmallBoolSmallDictFt) (smallDictt *self, const char *key, smallBoolt *value);
141 typedef smallDictt* (*setSmallBytesSmallDictFt) (smallDictt *self, const char *key, smallBytest *value);
142 typedef smallDictt* (*setSmallDoubleSmallDictFt) (smallDictt *self, const char *key, smallDoublet *value);
143 typedef smallDictt* (*setSmallIntSmallDictFt) (smallDictt *self, const char *key, smallIntt *value);
144 typedef smallDictt* (*setSmallJsonSmallDictFt) (smallDictt *self, const char *key, smallJsont *value);
145 typedef smallDictt* (*setSmallStringSmallDictFt) (smallDictt *self, const char *key, smallStringt *string);
146 typedef smallDictt* (*setSmallContainerSmallDictFt)(smallDictt *self, const char *key, smallContainert *container);
147 
148 typedef smallDictt* (*setKCharSmallDictFt) (smallDictt *self, char key, baset *value);
149 typedef smallDictt* (*setUndefinedKCharSmallDictFt)(smallDictt *self, char key);
150 typedef smallDictt* (*setBoolKCharSmallDictFt) (smallDictt *self, char key, bool value);
151 typedef smallDictt* (*setDoubleKCharSmallDictFt) (smallDictt *self, char key, double value);
152 typedef smallDictt* (*setIntKCharSmallDictFt) (smallDictt *self, char key, int64_t value);
153 typedef smallDictt* (*setSKCharSmallDictFt) (smallDictt *self, char key, const char *string);
154 typedef smallDictt* (*setCharKCharSmallDictFt) (smallDictt *self, char key, char c);
155 typedef smallDictt* (*setDictKCharSmallDictFt) (smallDictt *self, char key, smallDictt *dict);
156 typedef smallDictt* (*setArrayKCharSmallDictFt) (smallDictt *self, char key, smallArrayt *array);
157 typedef smallDictt* (*setArraycKCharSmallDictFt) (smallDictt *self, char key, char **array);
158 typedef smallDictt* (*setCArraycKCharSmallDictFt) (smallDictt *self, char key, const char **array);
159 typedef smallDictt* (*setSmallBoolKCharSmallDictFt) (smallDictt *self, char key, smallBoolt *value);
160 typedef smallDictt* (*setSmallBytesKCharSmallDictFt) (smallDictt *self, char key, smallBytest *value);
161 typedef smallDictt* (*setSmallDoubleKCharSmallDictFt) (smallDictt *self, char key, smallDoublet *value);
162 typedef smallDictt* (*setSmallIntKCharSmallDictFt) (smallDictt *self, char key, smallIntt *value);
163 typedef smallDictt* (*setSmallJsonKCharSmallDictFt) (smallDictt *self, char key, smallJsont *value);
164 typedef smallDictt* (*setSmallStringKCharSmallDictFt) (smallDictt *self, char key, smallStringt *string);
165 typedef smallDictt* (*setSmallContainerKCharSmallDictFt)(smallDictt *self, char key, smallContainert *container);
166 
178 typedef smallDictt* (*setNFreeSmallDictFt) (smallDictt *self, const char *key, baset *value);
179 typedef smallDictt* (*setNFreeUndefinedSmallDictFt)(smallDictt *self, const char *key, undefinedt *undefined);
180 typedef smallDictt* (*setNFreeSSmallDictFt) (smallDictt *self, const char *key, char *string);
181 typedef smallDictt* (*setNFreeDictSmallDictFt) (smallDictt *self, const char *key, smallDictt *dict);
182 typedef smallDictt* (*setNFreeArraySmallDictFt) (smallDictt *self, const char *key, smallArrayt *array);
183 typedef smallDictt* (*setNFreeArraycSmallDictFt) (smallDictt *self, const char *key, char **array);
184 typedef smallDictt* (*setNFreeSmallBoolSmallDictFt) (smallDictt *self, const char *key, smallBoolt *value);
185 typedef smallDictt* (*setNFreeSmallBytesSmallDictFt) (smallDictt *self, const char *key, smallBytest *value);
186 typedef smallDictt* (*setNFreeSmallDoubleSmallDictFt) (smallDictt *self, const char *key, smallDoublet *value);
187 typedef smallDictt* (*setNFreeSmallIntSmallDictFt) (smallDictt *self, const char *key, smallIntt *value);
188 typedef smallDictt* (*setNFreeSmallJsonSmallDictFt) (smallDictt *self, const char *key, smallJsont *value);
189 typedef smallDictt* (*setNFreeSmallStringSmallDictFt) (smallDictt *self, const char *key, smallStringt *string);
190 typedef smallDictt* (*setNFreeSmallContainerSmallDictFt)(smallDictt *self, const char *key, smallContainert *container);
191 
192 typedef smallDictt* (*setNFreeKCharSmallDictFt) (smallDictt *self, char key, baset *value);
193 typedef smallDictt* (*setNFreeUndefinedKCharSmallDictFt)(smallDictt *self, char key, undefinedt *undefined);
194 typedef smallDictt* (*setNFreeSKCharSmallDictFt) (smallDictt *self, char key, char *string);
195 typedef smallDictt* (*setNFreeDictKCharSmallDictFt) (smallDictt *self, char key, smallDictt *dict);
196 typedef smallDictt* (*setNFreeArrayKCharSmallDictFt) (smallDictt *self, char key, smallArrayt *array);
197 typedef smallDictt* (*setNFreeArraycKCharSmallDictFt) (smallDictt *self, char key, char **array);
198 typedef smallDictt* (*setNFreeSmallBoolKCharSmallDictFt) (smallDictt *self, char key, smallBoolt *value);
199 typedef smallDictt* (*setNFreeSmallBytesKCharSmallDictFt) (smallDictt *self, char key, smallBytest *value);
200 typedef smallDictt* (*setNFreeSmallDoubleKCharSmallDictFt) (smallDictt *self, char key, smallDoublet *value);
201 typedef smallDictt* (*setNFreeSmallIntKCharSmallDictFt) (smallDictt *self, char key, smallIntt *value);
202 typedef smallDictt* (*setNFreeSmallJsonKCharSmallDictFt) (smallDictt *self, char key, smallJsont *value);
203 typedef smallDictt* (*setNFreeSmallStringKCharSmallDictFt) (smallDictt *self, char key, smallStringt *string);
204 typedef smallDictt* (*setNFreeSmallContainerKCharSmallDictFt)(smallDictt *self, char key, smallContainert *container);
205 
214 typedef smallDictt* (*setPArraySmallDictFt) (smallDictt *self, const char *key, smallArrayt *array);
215 typedef smallDictt* (*setPDictSmallDictFt) (smallDictt *self, const char *key, smallDictt *dict);
216 typedef smallDictt* (*setPSmallJsonSmallDictFt) (smallDictt *self, const char *key, smallJsont *json);
217 typedef smallDictt* (*setPSmallStringSmallDictFt) (smallDictt *self, const char *key, smallStringt *string);
218 typedef smallDictt* (*setNFreePArraySmallDictFt) (smallDictt *self, const char *key, smallArrayt *array);
219 typedef smallDictt* (*setNFreePDictSmallDictFt) (smallDictt *self, const char *key, smallDictt *dict);
220 typedef smallDictt* (*setNFreePSmallJsonSmallDictFt) (smallDictt *self, const char *key, smallJsont *json);
221 typedef smallDictt* (*setNFreePSmallStringSmallDictFt)(smallDictt *self, const char *key, smallStringt *string);
222 
223 typedef smallDictt* (*setPArrayKCharSmallDictFt) (smallDictt *self, char key, smallArrayt *array);
224 typedef smallDictt* (*setPDictKCharSmallDictFt) (smallDictt *self, char key, smallDictt *dict);
225 typedef smallDictt* (*setPSmallJsonKCharSmallDictFt) (smallDictt *self, char key, smallJsont *json);
226 typedef smallDictt* (*setPSmallStringKCharSmallDictFt) (smallDictt *self, char key, smallStringt *string);
227 typedef smallDictt* (*setNFreePArrayKCharSmallDictFt) (smallDictt *self, char key, smallArrayt *array);
228 typedef smallDictt* (*setNFreePDictKCharSmallDictFt) (smallDictt *self, char key, smallDictt *dict);
229 typedef smallDictt* (*setNFreePSmallJsonKCharSmallDictFt) (smallDictt *self, char key, smallJsont *json);
230 typedef smallDictt* (*setNFreePSmallStringKCharSmallDictFt)(smallDictt *self, char key, smallStringt *string);
231 
240 typedef baset* (*getSmallDictFt) (smallDictt *self, const char *key);
241 typedef undefinedt* (*getUndefinedSmallDictFt) (smallDictt *self, const char *key);
242 typedef bool (*getBoolSmallDictFt) (smallDictt *self, const char *key);
243 typedef bool* (*getBoolPSmallDictFt) (smallDictt *self, const char *key);
244 typedef double (*getDoubleSmallDictFt) (smallDictt *self, const char *key);
245 typedef double* (*getDoublePSmallDictFt) (smallDictt *self, const char *key);
246 typedef int64_t (*getIntSmallDictFt) (smallDictt *self, const char *key);
247 typedef int64_t* (*getIntPSmallDictFt) (smallDictt *self, const char *key);
248 typedef int32_t (*getInt32SmallDictFt) (smallDictt *self, const char *key);
249 typedef int32_t* (*getInt32PSmallDictFt) (smallDictt *self, const char *key);
250 typedef uint64_t (*getUintSmallDictFt) (smallDictt *self, const char *key);
251 typedef uint64_t* (*getUintPSmallDictFt) (smallDictt *self, const char *key);
252 typedef uint32_t (*getUint32SmallDictFt) (smallDictt *self, const char *key);
253 typedef uint32_t* (*getUint32PSmallDictFt) (smallDictt *self, const char *key);
254 typedef char* (*getSSmallDictFt) (smallDictt *self, const char *key);
255 typedef smallDictt* (*getDictSmallDictFt) (smallDictt *self, const char *key);
256 typedef smallArrayt* (*getArraySmallDictFt) (smallDictt *self, const char *key);
257 typedef smallBoolt* (*getSmallBoolSmallDictFt) (smallDictt *self, const char *key);
258 typedef smallBytest* (*getSmallBytesSmallDictFt) (smallDictt *self, const char *key);
259 typedef smallDoublet* (*getSmallDoubleSmallDictFt) (smallDictt *self, const char *key);
260 typedef smallIntt* (*getSmallIntSmallDictFt) (smallDictt *self, const char *key);
261 typedef smallJsont* (*getSmallJsonSmallDictFt) (smallDictt *self, const char *key);
262 typedef smallStringt* (*getSmallStringSmallDictFt) (smallDictt *self, const char *key);
263 typedef void* (*getVoidSmallDictFt) (smallDictt *self, const char *key);
264 typedef smallContainert* (*getSmallContainerSmallDictFt)(smallDictt *self, const char *key);
265 
266 typedef baset* (*getKCharSmallDictFt) (smallDictt *self, char key);
267 typedef undefinedt* (*getUndefinedKCharSmallDictFt) (smallDictt *self, char key);
268 typedef bool (*getBoolKCharSmallDictFt) (smallDictt *self, char key);
269 typedef bool* (*getBoolPKCharSmallDictFt) (smallDictt *self, char key);
270 typedef double (*getDoubleKCharSmallDictFt) (smallDictt *self, char key);
271 typedef double* (*getDoublePKCharSmallDictFt) (smallDictt *self, char key);
272 typedef int64_t (*getIntKCharSmallDictFt) (smallDictt *self, char key);
273 typedef int64_t* (*getIntPKCharSmallDictFt) (smallDictt *self, char key);
274 typedef int32_t (*getInt32KCharSmallDictFt) (smallDictt *self, char key);
275 typedef int32_t* (*getInt32PKCharSmallDictFt) (smallDictt *self, char key);
276 typedef uint64_t (*getUintKCharSmallDictFt) (smallDictt *self, char key);
277 typedef uint64_t* (*getUintPKCharSmallDictFt) (smallDictt *self, char key);
278 typedef uint32_t (*getUint32KCharSmallDictFt) (smallDictt *self, char key);
279 typedef uint32_t* (*getUint32PKCharSmallDictFt) (smallDictt *self, char key);
280 typedef char* (*getSKCharSmallDictFt) (smallDictt *self, char key);
281 typedef smallDictt* (*getDictKCharSmallDictFt) (smallDictt *self, char key);
282 typedef smallArrayt* (*getArrayKCharSmallDictFt) (smallDictt *self, char key);
283 typedef smallBoolt* (*getSmallBoolKCharSmallDictFt) (smallDictt *self, char key);
284 typedef smallBytest* (*getSmallBytesKCharSmallDictFt) (smallDictt *self, char key);
285 typedef smallDoublet* (*getSmallDoubleKCharSmallDictFt) (smallDictt *self, char key);
286 typedef smallIntt* (*getSmallIntKCharSmallDictFt) (smallDictt *self, char key);
287 typedef smallJsont* (*getSmallJsonKCharSmallDictFt) (smallDictt *self, char key);
288 typedef smallStringt* (*getSmallStringKCharSmallDictFt) (smallDictt *self, char key);
289 typedef void* (*getVoidKCharSmallDictFt) (smallDictt *self, char key);
290 typedef smallContainert* (*getSmallContainerKCharSmallDictFt)(smallDictt *self, char key);
291 
292 
301 typedef baset* (*getNDupSmallDictFt) (smallDictt *self, const char *key);
302 typedef undefinedt* (*getNDupUndefinedSmallDictFt) (smallDictt *self, const char *key);
303 typedef bool (*getNDupBoolSmallDictFt) (smallDictt *self, const char *key);
304 typedef double (*getNDupDoubleSmallDictFt) (smallDictt *self, const char *key);
305 typedef int64_t (*getNDupIntSmallDictFt) (smallDictt *self, const char *key);
306 typedef int32_t (*getNDupInt32SmallDictFt) (smallDictt *self, const char *key);
307 typedef uint64_t (*getNDupUintSmallDictFt) (smallDictt *self, const char *key);
308 typedef uint32_t (*getNDupUint32SmallDictFt) (smallDictt *self, const char *key);
309 typedef char* (*getNDupSSmallDictFt) (smallDictt *self, const char *key);
310 typedef smallDictt* (*getNDupDictSmallDictFt) (smallDictt *self, const char *key);
311 typedef smallArrayt* (*getNDupArraySmallDictFt) (smallDictt *self, const char *key);
312 typedef smallBoolt* (*getNDupSmallBoolSmallDictFt) (smallDictt *self, const char *key);
313 typedef smallBytest* (*getNDupSmallBytesSmallDictFt) (smallDictt *self, const char *key);
314 typedef smallDoublet* (*getNDupSmallDoubleSmallDictFt) (smallDictt *self, const char *key);
315 typedef smallIntt* (*getNDupSmallIntSmallDictFt) (smallDictt *self, const char *key);
316 typedef smallJsont* (*getNDupSmallJsonSmallDictFt) (smallDictt *self, const char *key);
317 typedef smallStringt* (*getNDupSmallStringSmallDictFt) (smallDictt *self, const char *key);
318 typedef void* (*getNDupVoidSmallDictFt) (smallDictt *self, const char *key);
319 typedef smallContainert* (*getNDupSmallContainerSmallDictFt)(smallDictt *self, const char *key);
320 
321 typedef baset* (*getNDupKCharSmallDictFt) (smallDictt *self, char key);
322 typedef undefinedt* (*getNDupUndefinedKCharSmallDictFt) (smallDictt *self, char key);
323 typedef bool (*getNDupBoolKCharSmallDictFt) (smallDictt *self, char key);
324 typedef double (*getNDupDoubleKCharSmallDictFt) (smallDictt *self, char key);
325 typedef int64_t (*getNDupIntKCharSmallDictFt) (smallDictt *self, char key);
326 typedef int32_t (*getNDupInt32KCharSmallDictFt) (smallDictt *self, char key);
327 typedef uint64_t (*getNDupUintKCharSmallDictFt) (smallDictt *self, char key);
328 typedef uint32_t (*getNDupUint32KCharSmallDictFt) (smallDictt *self, char key);
329 typedef char* (*getNDupSKCharSmallDictFt) (smallDictt *self, char key);
330 typedef smallDictt* (*getNDupDictKCharSmallDictFt) (smallDictt *self, char key);
331 typedef smallArrayt* (*getNDupArrayKCharSmallDictFt) (smallDictt *self, char key);
332 typedef smallBoolt* (*getNDupSmallBoolKCharSmallDictFt) (smallDictt *self, char key);
333 typedef smallBytest* (*getNDupSmallBytesKCharSmallDictFt) (smallDictt *self, char key);
334 typedef smallDoublet* (*getNDupSmallDoubleKCharSmallDictFt) (smallDictt *self, char key);
335 typedef smallIntt* (*getNDupSmallIntKCharSmallDictFt) (smallDictt *self, char key);
336 typedef smallJsont* (*getNDupSmallJsonKCharSmallDictFt) (smallDictt *self, char key);
337 typedef smallStringt* (*getNDupSmallStringKCharSmallDictFt) (smallDictt *self, char key);
338 typedef void* (*getNDupVoidKCharSmallDictFt) (smallDictt *self, char key);
339 typedef smallContainert* (*getNDupSmallContainerKCharSmallDictFt)(smallDictt *self, char key);
340 
353 typedef double (*getNumSmallDictFt) (smallDictt *self, const char *key);
354 
367 typedef baset* (*cropElemSmallDictFt) (smallDictt *self, const char* key);
368 typedef undefinedt* (*cropElemUndefinedSmallDictFt) (smallDictt *self, const char* key);
369 typedef bool (*cropElemBoolSmallDictFt) (smallDictt *self, const char* key);
370 typedef double (*cropElemDoubleSmallDictFt) (smallDictt *self, const char* key);
371 typedef int64_t (*cropElemIntSmallDictFt) (smallDictt *self, const char* key);
372 typedef int32_t (*cropElemInt32SmallDictFt) (smallDictt *self, const char* key);
373 typedef uint64_t (*cropElemUintSmallDictFt) (smallDictt *self, const char* key);
374 typedef uint32_t (*cropElemUint32SmallDictFt) (smallDictt *self, const char* key);
375 typedef char* (*cropElemSSmallDictFt) (smallDictt *self, const char* key);
376 typedef smallDictt* (*cropElemDictSmallDictFt) (smallDictt *self, const char* key);
377 typedef smallArrayt* (*cropElemArraySmallDictFt) (smallDictt *self, const char* key);
378 typedef smallBoolt* (*cropElemSmallBoolSmallDictFt) (smallDictt *self, const char* key);
379 typedef smallBytest* (*cropElemSmallBytesSmallDictFt) (smallDictt *self, const char* key);
380 typedef smallDoublet* (*cropElemSmallDoubleSmallDictFt) (smallDictt *self, const char* key);
381 typedef smallIntt* (*cropElemSmallIntSmallDictFt) (smallDictt *self, const char* key);
382 typedef smallJsont* (*cropElemSmallJsonSmallDictFt) (smallDictt *self, const char* key);
383 typedef smallStringt* (*cropElemSmallStringSmallDictFt) (smallDictt *self, const char* key);
384 typedef void* (*cropElemVoidSmallDictFt) (smallDictt *self, const char* key);
385 typedef smallContainert* (*cropElemSmallContainerSmallDictFt) (smallDictt *self, const char* key);
386 
406 typedef smallDictt* (*delSmallDictFt) (smallDictt *self, const char *key);
407 typedef smallDictt* (*delKCharSmallDictFt) (smallDictt *self, char key);
408 
429 typedef smallDictt* (*removeSmallDictFt) (smallDictt *self, const char *key);
430 typedef smallDictt* (*removeKCharSmallDictFt) (smallDictt *self, char key);
431 
432 
441 typedef bool (*hasSmallDictFt) (smallDictt *self, const char *key);
442 typedef bool (*hasKCharSmallDictFt) (smallDictt *self, char key);
443 
454 typedef char* (*keyBySmallDictFt) (smallDictt *self, baset *value);
455 typedef char* (*keyByUndefinedSmallDictFt)(smallDictt *self, undefinedt *undefined);
456 typedef char* (*keyByBoolSmallDictFt) (smallDictt *self, bool value);
457 typedef char* (*keyByDoubleSmallDictFt) (smallDictt *self, double value);
458 typedef char* (*keyByIntSmallDictFt) (smallDictt *self, int64_t value);
459 typedef char* (*keyBySSmallDictFt) (smallDictt *self, const char *string);
460 typedef char* (*keyByCharSmallDictFt) (smallDictt *self, char c);
461 typedef char* (*keyByDictSmallDictFt) (smallDictt *self, smallDictt *dict);
462 typedef char* (*keyByArraySmallDictFt) (smallDictt *self, smallArrayt *array);
463 typedef char* (*keyByArraycSmallDictFt) (smallDictt *self, char **array);
464 typedef char* (*keyByCArraycSmallDictFt) (smallDictt *self, const char **array);
465 typedef char* (*keyBySmallBoolSmallDictFt) (smallDictt *self, smallBoolt *value);
466 typedef char* (*keyBySmallBytesSmallDictFt) (smallDictt *self, smallBytest *value);
467 typedef char* (*keyBySmallDoubleSmallDictFt) (smallDictt *self, smallDoublet *value);
468 typedef char* (*keyBySmallIntSmallDictFt) (smallDictt *self, smallIntt *value);
469 typedef char* (*keyBySmallJsonSmallDictFt) (smallDictt *self, smallJsont *string);
470 typedef char* (*keyBySmallStringSmallDictFt) (smallDictt *self, smallStringt *string);
471 typedef char* (*keyBySmallContainerSmallDictFt)(smallDictt *self, smallContainert *container);
472 
483 typedef char* (*icKeyBySmallDictFt) (smallDictt *self, baset *value);
484 typedef char* (*icKeyBySSmallDictFt) (smallDictt *self, const char *string);
485 typedef char* (*icKeyByCharSmallDictFt) (smallDictt *self, char c);
486 typedef char* (*icKeyByDictSmallDictFt) (smallDictt *self, smallDictt *dict);
487 typedef char* (*icKeyByArraySmallDictFt) (smallDictt *self, smallArrayt *array);
488 typedef char* (*icKeyByArraycSmallDictFt) (smallDictt *self, char **array);
489 typedef char* (*icKeyByCArraycSmallDictFt) (smallDictt *self, const char **array);
490 typedef char* (*icKeyBySmallJsonSmallDictFt) (smallDictt *self, smallJsont *string);
491 typedef char* (*icKeyBySmallStringSmallDictFt) (smallDictt *self, smallStringt *string);
492 
496 typedef smallDictt* (*trimSmallDictFt) (smallDictt *self);
497 
501 typedef char** (*keysSmallDictFt) (smallDictt *self);
502 typedef smallArrayt* (*keysSmallStringSmallDictFt)(smallDictt *self);
503 
507 typedef smallArrayt* (*valuesSmallDictFt) (smallDictt *self);
508 
512 typedef smallDictt* (*mergeSmallDictFt) (smallDictt *self, smallDictt *smallDict);
513 typedef smallDictt* (*mergeSmallJsonSmallDictFt) (smallDictt *self, smallJsont *json);
514 typedef smallDictt* (*mergeNSmashSmallDictFt) (smallDictt *self, smallDictt *smallDict);
515 typedef smallDictt* (*mergeNSmashSmallJsonSmallDictFt)(smallDictt *self, smallJsont *json);
516 
520 typedef smallDictt* (*appendSmallDictFt) (smallDictt *self, smallDictt *smallDict);
521 typedef smallDictt* (*appendNSmashSmallDictFt)(smallDictt *self, smallDictt *smallDict);
522 
523 typedef bool (*equalSmallDictBaseFt) (smallDictt* self, baset* p2);
524 typedef bool (*equalSmallDictSmallJsonFt) (smallDictt* self, smallJsont* p2);
525 typedef bool (*equalSmallDictFt) (smallDictt* self, smallDictt* p2);
526 
527 typedef bool (*icEqualSmallDictBaseFt) (smallDictt* self, baset* p2);
529 typedef bool (*icEqualSmallDictFt) (smallDictt* self, smallDictt* p2);
530 
534 typedef size_t (*lenSmallDictFt) (smallDictt *self);
535 
539 typedef smallDictt* (*emptySmallDictFt) (smallDictt *self);
540 
546 typedef bool (*isEmptySmallDictFt) (smallDictt *self);
547 
562 typedef bool (*enumerateElementSmallDictFt) (void *closure, char *key, baset *element);
563 
572 typedef void (*enumerateSmallDictFt) (smallDictt *self, void *closure, enumerateElementSmallDictFt funcElem);
573 
585 typedef baset* (*iterStartSmallDictFt) (smallDictt *self);
586 typedef const char* (*iterStartKeySmallDictFt) (smallDictt *self);
587 typedef baset* (*iterNextSmallDictFt) (smallDictt *self);
588 typedef const char* (*iterNextKeySmallDictFt) (smallDictt *self);
589 typedef baset* (*iterElementSmallDictFt) (smallDictt *self);
590 typedef const char* (*iterKeySmallDictFt) (smallDictt *self);
591 
600 typedef smallDictt* (*zipSmallDictFt) (smallDictt *self, smallArrayt *keys, smallArrayt *values);
601 typedef smallDictt* (*zipSmallJsonSmallDictFt) (smallDictt *self, smallArrayt *keys, smallJsont *values);
602 typedef smallDictt* (*zipSmallJsonSmallArraySmallDictFt)(smallDictt *self, smallJsont *keys, smallArrayt *values);
603 typedef smallDictt* (*zipSmallJsonSmallJsonSmallDictFt) (smallDictt *self, smallJsont *keys, smallJsont *values);
604 typedef smallDictt* (*zipSmallJsonVArraySmallDictFt) (smallDictt *self, smallJsont *keys, char** values);
605 typedef smallDictt* (*zipSmallJsonVCArraySmallDictFt) (smallDictt *self, smallJsont *keys, const char** values);
606 typedef smallDictt* (*zipArraySmallDictFt) (smallDictt *self, char** keys, smallArrayt *values);
607 typedef smallDictt* (*zipCArraySmallDictFt) (smallDictt *self, const char** keys, smallArrayt *values);
608 typedef smallDictt* (*zipArraySmallJsonSmallDictFt) (smallDictt *self, char** keys, smallJsont *values);
609 typedef smallDictt* (*zipCArraySmallJsonSmallDictFt) (smallDictt *self, const char** keys, smallJsont *values);
610 typedef smallDictt* (*zipArrayArraySmallDictFt) (smallDictt *self, char** keys, char** values);
611 typedef smallDictt* (*zipCArrayArraySmallDictFt) (smallDictt *self, const char** keys, char** values);
612 typedef smallDictt* (*zipArrayCArraySmallDictFt) (smallDictt *self, char** keys, const char** values);
613 typedef smallDictt* (*zipCArrayCArraySmallDictFt) (smallDictt *self, const char** keys, const char** values);
614 typedef smallDictt* (*zipVArraySmallDictFt) (smallDictt *self, smallArrayt *keys, char** values);
615 typedef smallDictt* (*zipVCArraySmallDictFt) (smallDictt *self, smallArrayt *keys, const char** values);
616 
625 typedef smallDictt* (*fromArraySmallDictFt) (smallDictt *self, smallArrayt *items);
626 
633 typedef smallArrayt* (*toArraySmallDictFt) (smallDictt *self);
634 
644 typedef bool (*writeFileSmallDictFt) (smallDictt *self, const char *filePath);
645 typedef bool (*writeFileSmallJsonSmallDictFt) (smallDictt *self, smallJsont *filePath);
646 typedef bool (*writeFileSmallStringSmallDictFt)(smallDictt *self, smallStringt *filePath);
647 typedef bool (*writeStreamSmallDictFt) (smallDictt *self, FILE *fp);
648 
659 typedef bool (*appendFileSmallDictFt) (smallDictt *self, const char *filePath);
660 typedef bool (*appendFileSmallStringSmallDictFt)(smallDictt *self, smallStringt *filePath);
661 
665 typedef void (*logSmallDictFt) (smallDictt *self);
666 
675 typedef const char* (*typeStringSmallDictFt) (smallDictt *self, const char *key);
676 typedef smallStringt* (*typeSmallStringSmallDictFt) (smallDictt *self, const char *key);
677 
678 typedef const char* (*typeStringKCharSmallDictFt) (smallDictt *self, char key);
679 typedef smallStringt* (*typeSmallStringKCharSmallDictFt) (smallDictt *self, char key);
680 
689 typedef char (*typeSmallDictFt) (smallDictt *self, const char *key);
690 typedef char (*typeKCharSmallDictFt) (smallDictt *self, char key);
691 
698 typedef smallDictt* (*typeStringsSmallDictFt)(smallDictt *self);
699 
703 typedef bool (*isETypeSmallDictFt) (smallDictt *self, const char *key, const char *type);
704 typedef bool (*isEUndefinedSmallDictFt) (smallDictt *self, const char *key);
705 typedef bool (*isEBoolSmallDictFt) (smallDictt *self, const char *key);
706 typedef bool (*isEContainerSmallDictFt) (smallDictt *self, const char *key);
707 typedef bool (*isEDictSmallDictFt) (smallDictt *self, const char *key);
708 typedef bool (*isEDoubleSmallDictFt) (smallDictt *self, const char *key);
709 typedef bool (*isEIntSmallDictFt) (smallDictt *self, const char *key);
710 typedef bool (*isEStringSmallDictFt) (smallDictt *self, const char *key);
711 typedef bool (*isEFaststringSmallDictFt)(smallDictt *self, const char *key);
712 typedef bool (*isEArraySmallDictFt) (smallDictt *self, const char *key);
713 typedef bool (*isEBytesSmallDictFt) (smallDictt *self, const char *key);
714 
718 typedef bool (*areAllETypeSmallDictFt) (smallDictt *self, const char *type);
719 typedef bool (*areAllEUndefinedSmallDictFt) (smallDictt *self);
720 typedef bool (*areAllEBoolSmallDictFt) (smallDictt *self);
721 typedef bool (*areAllEContainerSmallDictFt) (smallDictt *self);
722 typedef bool (*areAllEDictSmallDictFt) (smallDictt *self);
723 typedef bool (*areAllEDoubleSmallDictFt) (smallDictt *self);
724 typedef bool (*areAllEIntSmallDictFt) (smallDictt *self);
725 typedef bool (*areAllEStringSmallDictFt) (smallDictt *self);
727 typedef bool (*areAllEArraySmallDictFt) (smallDictt *self);
728 typedef bool (*areAllEBytesSmallDictFt) (smallDictt *self);
729 
747 #define SMALLDICTFUNCTIONST \
748  escapeSmallDictFt escape;\
749  disposeSmallDictFt dispose;\
750  helpSmallDictFt help;\
751  resetSmallDictFt reset;\
752  getsoSmallDictFt getso;\
753  setsoSmallDictFt setso;\
754  mirrorSmallDictFt mirror;\
755  setSmallDictFt set;\
756  setUndefinedSmallDictFt setUndefined;\
757  setBoolSmallDictFt setBool;\
758  setDoubleSmallDictFt setDouble;\
759  setIntSmallDictFt setInt;\
760  setSSmallDictFt setS;\
761  setCharSmallDictFt setChar;\
762  setDictSmallDictFt setDict;\
763  setArraySmallDictFt setArray;\
764  setArraycSmallDictFt setArrayc;\
765  setCArraycSmallDictFt setCArrayc;\
766  setSmallBoolSmallDictFt setSmallBool;\
767  setSmallBytesSmallDictFt setSmallBytes;\
768  setSmallDoubleSmallDictFt setSmallDouble;\
769  setSmallIntSmallDictFt setSmallInt;\
770  setSmallJsonSmallDictFt setSmallJson;\
771  setSmallStringSmallDictFt setSmallString;\
772  setSmallContainerSmallDictFt setSmallContainer;\
773  setKCharSmallDictFt setKChar;\
774  setUndefinedKCharSmallDictFt setUndefinedKChar;\
775  setBoolKCharSmallDictFt setBoolKChar;\
776  setDoubleKCharSmallDictFt setDoubleKChar;\
777  setIntKCharSmallDictFt setIntKChar;\
778  setSKCharSmallDictFt setSKChar;\
779  setCharKCharSmallDictFt setCharKChar;\
780  setDictKCharSmallDictFt setDictKChar;\
781  setArrayKCharSmallDictFt setArrayKChar;\
782  setArraycKCharSmallDictFt setArraycKChar;\
783  setCArraycKCharSmallDictFt setCArraycKChar;\
784  setSmallBoolKCharSmallDictFt setSmallBoolKChar;\
785  setSmallBytesKCharSmallDictFt setSmallBytesKChar;\
786  setSmallDoubleKCharSmallDictFt setSmallDoubleKChar;\
787  setSmallIntKCharSmallDictFt setSmallIntKChar;\
788  setSmallJsonKCharSmallDictFt setSmallJsonKChar;\
789  setSmallStringKCharSmallDictFt setSmallStringKChar;\
790  setSmallContainerKCharSmallDictFt setSmallContainerKChar;\
791  setNFreeSmallDictFt setNFree;\
792  setNFreeUndefinedSmallDictFt setNFreeUndefined;\
793  setNFreeSSmallDictFt setNFreeS;\
794  setNFreeDictSmallDictFt setNFreeDict;\
795  setNFreeArraySmallDictFt setNFreeArray;\
796  setNFreeArraycSmallDictFt setNFreeArrayc;\
797  setNFreeSmallBoolSmallDictFt setNFreeSmallBool;\
798  setNFreeSmallBytesSmallDictFt setNFreeSmallBytes;\
799  setNFreeSmallDoubleSmallDictFt setNFreeSmallDouble;\
800  setNFreeSmallIntSmallDictFt setNFreeSmallInt;\
801  setNFreeSmallJsonSmallDictFt setNFreeSmallJson;\
802  setNFreeSmallStringSmallDictFt setNFreeSmallString;\
803  setNFreeSmallContainerSmallDictFt setNFreeSmallContainer;\
804  setNFreeKCharSmallDictFt setNFreeKChar;\
805  setNFreeUndefinedKCharSmallDictFt setNFreeUndefinedKChar;\
806  setNFreeSKCharSmallDictFt setNFreeSKChar;\
807  setNFreeDictKCharSmallDictFt setNFreeDictKChar;\
808  setNFreeArrayKCharSmallDictFt setNFreeArrayKChar;\
809  setNFreeArraycKCharSmallDictFt setNFreeArraycKChar;\
810  setNFreeSmallBoolKCharSmallDictFt setNFreeSmallBoolKChar;\
811  setNFreeSmallBytesKCharSmallDictFt setNFreeSmallBytesKChar;\
812  setNFreeSmallDoubleKCharSmallDictFt setNFreeSmallDoubleKChar;\
813  setNFreeSmallIntKCharSmallDictFt setNFreeSmallIntKChar;\
814  setNFreeSmallJsonKCharSmallDictFt setNFreeSmallJsonKChar;\
815  setNFreeSmallStringKCharSmallDictFt setNFreeSmallStringKChar;\
816  setNFreeSmallContainerKCharSmallDictFt setNFreeSmallContainerKChar;\
817  setPDictSmallDictFt setPDict;\
818  setPArraySmallDictFt setPArray;\
819  setPSmallJsonSmallDictFt setPSmallJson;\
820  setPSmallStringSmallDictFt setPSmallString;\
821  setNFreePDictSmallDictFt setNFreePDict;\
822  setNFreePArraySmallDictFt setNFreePArray;\
823  setNFreePSmallJsonSmallDictFt setNFreePSmallJson;\
824  setNFreePSmallStringSmallDictFt setNFreePSmallString;\
825  setPArrayKCharSmallDictFt setPArrayKChar;\
826  setPDictKCharSmallDictFt setPDictKChar;\
827  setPSmallJsonKCharSmallDictFt setPSmallJsonKChar;\
828  setPSmallStringKCharSmallDictFt setPSmallStringKChar;\
829  setNFreePArrayKCharSmallDictFt setNFreePArrayKChar;\
830  setNFreePDictKCharSmallDictFt setNFreePDictKChar;\
831  setNFreePSmallJsonKCharSmallDictFt setNFreePSmallJsonKChar;\
832  setNFreePSmallStringKCharSmallDictFt setNFreePSmallStringKChar;\
833  getSmallDictFt get;\
834  getUndefinedSmallDictFt getUndefined;\
835  getBoolSmallDictFt getBool;\
836  getBoolPSmallDictFt getBoolP;\
837  getDoubleSmallDictFt getDouble;\
838  getDoublePSmallDictFt getDoubleP;\
839  getIntSmallDictFt getInt;\
840  getIntPSmallDictFt getIntP;\
841  getInt32SmallDictFt getInt32;\
842  getInt32PSmallDictFt getInt32P;\
843  getUintSmallDictFt getUint;\
844  getUintPSmallDictFt getUintP;\
845  getUint32SmallDictFt getUint32;\
846  getUint32PSmallDictFt getUint32P;\
847  getSSmallDictFt getS;\
848  getDictSmallDictFt getDict;\
849  getArraySmallDictFt getArray;\
850  getSmallBoolSmallDictFt getSmallBool;\
851  getSmallBytesSmallDictFt getSmallBytes;\
852  getSmallDoubleSmallDictFt getSmallDouble;\
853  getSmallIntSmallDictFt getSmallInt;\
854  getSmallJsonSmallDictFt getSmallJson;\
855  getSmallStringSmallDictFt getSmallString;\
856  getVoidSmallDictFt getVoid;\
857  getSmallContainerSmallDictFt getSmallContainer;\
858  getKCharSmallDictFt getKChar;\
859  getUndefinedKCharSmallDictFt getUndefinedKChar;\
860  getBoolKCharSmallDictFt getBoolKChar;\
861  getBoolPKCharSmallDictFt getBoolPKChar;\
862  getDoubleKCharSmallDictFt getDoubleKChar;\
863  getDoublePKCharSmallDictFt getDoublePKChar;\
864  getIntKCharSmallDictFt getIntKChar;\
865  getIntPKCharSmallDictFt getIntPKChar;\
866  getInt32KCharSmallDictFt getInt32KChar;\
867  getInt32PKCharSmallDictFt getInt32PKChar;\
868  getUintKCharSmallDictFt getUintKChar;\
869  getUintPKCharSmallDictFt getUintPKChar;\
870  getUint32KCharSmallDictFt getUint32KChar;\
871  getUint32PKCharSmallDictFt getUint32PKChar;\
872  getSKCharSmallDictFt getSKChar;\
873  getDictKCharSmallDictFt getDictKChar;\
874  getArrayKCharSmallDictFt getArrayKChar;\
875  getSmallBoolKCharSmallDictFt getSmallBoolKChar;\
876  getSmallBytesKCharSmallDictFt getSmallBytesKChar;\
877  getSmallDoubleKCharSmallDictFt getSmallDoubleKChar;\
878  getSmallIntKCharSmallDictFt getSmallIntKChar;\
879  getSmallJsonKCharSmallDictFt getSmallJsonKChar;\
880  getSmallStringKCharSmallDictFt getSmallStringKChar;\
881  getVoidKCharSmallDictFt getVoidKChar;\
882  getSmallContainerKCharSmallDictFt getSmallContainerKChar;\
883  getNDupSmallDictFt getNDup;\
884  getNDupUndefinedSmallDictFt getNDupUndefined;\
885  getNDupBoolSmallDictFt getNDupBool;\
886  getNDupDoubleSmallDictFt getNDupDouble;\
887  getNDupIntSmallDictFt getNDupInt;\
888  getNDupInt32SmallDictFt getNDupInt32;\
889  getNDupUintSmallDictFt getNDupUint;\
890  getNDupUint32SmallDictFt getNDupUint32;\
891  getNDupSSmallDictFt getNDupS;\
892  getNDupDictSmallDictFt getNDupDict;\
893  getNDupArraySmallDictFt getNDupArray;\
894  getNDupSmallBoolSmallDictFt getNDupSmallBool;\
895  getNDupSmallBytesSmallDictFt getNDupSmallBytes;\
896  getNDupSmallDoubleSmallDictFt getNDupSmallDouble;\
897  getNDupSmallIntSmallDictFt getNDupSmallInt;\
898  getNDupSmallJsonSmallDictFt getNDupSmallJson;\
899  getNDupSmallStringSmallDictFt getNDupSmallString;\
900  getNDupVoidSmallDictFt getNDupVoid;\
901  getNDupSmallContainerSmallDictFt getNDupSmallContainer;\
902  getNDupKCharSmallDictFt getNDupKChar;\
903  getNDupUndefinedKCharSmallDictFt getNDupUndefinedKChar;\
904  getNDupBoolKCharSmallDictFt getNDupBoolKChar;\
905  getNDupDoubleKCharSmallDictFt getNDupDoubleKChar;\
906  getNDupIntKCharSmallDictFt getNDupIntKChar;\
907  getNDupInt32KCharSmallDictFt getNDupInt32KChar;\
908  getNDupUintKCharSmallDictFt getNDupUintKChar;\
909  getNDupUint32KCharSmallDictFt getNDupUint32KChar;\
910  getNDupSKCharSmallDictFt getNDupSKChar;\
911  getNDupDictKCharSmallDictFt getNDupDictKChar;\
912  getNDupArrayKCharSmallDictFt getNDupArrayKChar;\
913  getNDupSmallBoolKCharSmallDictFt getNDupSmallBoolKChar;\
914  getNDupSmallBytesKCharSmallDictFt getNDupSmallBytesKChar;\
915  getNDupSmallDoubleKCharSmallDictFt getNDupSmallDoubleKChar;\
916  getNDupSmallIntKCharSmallDictFt getNDupSmallIntKChar;\
917  getNDupSmallJsonKCharSmallDictFt getNDupSmallJsonKChar;\
918  getNDupSmallStringKCharSmallDictFt getNDupSmallStringKChar;\
919  getNDupVoidKCharSmallDictFt getNDupVoidKChar;\
920  getNDupSmallContainerKCharSmallDictFt getNDupSmallContainerKChar;\
921  getNumSmallDictFt getNum;\
922  cropElemSmallDictFt cropElem;\
923  cropElemUndefinedSmallDictFt cropElemUndefined;\
924  cropElemBoolSmallDictFt cropElemBool;\
925  cropElemDoubleSmallDictFt cropElemDouble;\
926  cropElemIntSmallDictFt cropElemInt;\
927  cropElemInt32SmallDictFt cropElemInt32;\
928  cropElemUintSmallDictFt cropElemUint;\
929  cropElemUint32SmallDictFt cropElemUint32;\
930  cropElemSSmallDictFt cropElemS;\
931  cropElemDictSmallDictFt cropElemDict;\
932  cropElemArraySmallDictFt cropElemArray;\
933  cropElemSmallBoolSmallDictFt cropElemSmallBool;\
934  cropElemSmallBytesSmallDictFt cropElemSmallBytes;\
935  cropElemSmallDoubleSmallDictFt cropElemSmallDouble;\
936  cropElemSmallIntSmallDictFt cropElemSmallInt;\
937  cropElemSmallJsonSmallDictFt cropElemSmallJson;\
938  cropElemSmallStringSmallDictFt cropElemSmallString;\
939  cropElemVoidSmallDictFt cropElemVoid;\
940  cropElemSmallContainerSmallDictFt cropElemSmallContainer;\
941  delSmallDictFt del;\
942  delKCharSmallDictFt delKChar;\
943  removeSmallDictFt remove;\
944  removeKCharSmallDictFt removeKChar;\
945  hasSmallDictFt has;\
946  hasKCharSmallDictFt hasKChar;\
947  keyBySmallDictFt keyBy;\
948  keyByUndefinedSmallDictFt keyByUndefined;\
949  keyByBoolSmallDictFt keyByBool;\
950  keyByDoubleSmallDictFt keyByDouble;\
951  keyByIntSmallDictFt keyByInt;\
952  keyBySSmallDictFt keyByS;\
953  keyByCharSmallDictFt keyByChar;\
954  keyByDictSmallDictFt keyByDict;\
955  keyByArraySmallDictFt keyByArray;\
956  keyByArraycSmallDictFt keyByArrayc;\
957  keyByCArraycSmallDictFt keyByCArrayc;\
958  keyBySmallBoolSmallDictFt keyBySmallBool;\
959  keyBySmallBytesSmallDictFt keyBySmallBytes;\
960  keyBySmallDoubleSmallDictFt keyBySmallDouble;\
961  keyBySmallIntSmallDictFt keyBySmallInt;\
962  keyBySmallJsonSmallDictFt keyBySmallJson;\
963  keyBySmallStringSmallDictFt keyBySmallString;\
964  keyBySmallContainerSmallDictFt keyBySmallContainer;\
965  icKeyBySmallDictFt icKeyBy;\
966  icKeyBySSmallDictFt icKeyByS;\
967  icKeyByCharSmallDictFt icKeyByChar;\
968  icKeyByDictSmallDictFt icKeyByDict;\
969  icKeyByArraySmallDictFt icKeyByArray;\
970  icKeyByArraycSmallDictFt icKeyByArrayc;\
971  icKeyByCArraycSmallDictFt icKeyByCArrayc;\
972  icKeyBySmallJsonSmallDictFt icKeyBySmallJson;\
973  icKeyBySmallStringSmallDictFt icKeyBySmallString;\
974  trimSmallDictFt trim;\
975  keysSmallDictFt keys;\
976  keysSmallStringSmallDictFt keysSmallString;\
977  valuesSmallDictFt values;\
978  mergeSmallDictFt merge;\
979  mergeSmallJsonSmallDictFt mergeSmallJson;\
980  mergeNSmashSmallDictFt mergeNSmash;\
981  mergeNSmashSmallJsonSmallDictFt mergeNSmashSmallJson;\
982  appendSmallDictFt append;\
983  appendNSmashSmallDictFt appendNSmash;\
984  equalSmallDictBaseFt equalBase;\
985  equalSmallDictSmallJsonFt equalSmallJson;\
986  equalSmallDictFt equal;\
987  icEqualSmallDictBaseFt icEqualBase;\
988  icEqualSmallDictSmallJsonFt icEqualSmallJson;\
989  icEqualSmallDictFt icEqual;\
990  lenSmallDictFt len;\
991  emptySmallDictFt empty;\
992  isEmptySmallDictFt isEmpty;\
993  enumerateSmallDictFt enumerate;\
994  iterStartSmallDictFt iterStart;\
995  iterStartKeySmallDictFt iterStartKey;\
996  iterNextSmallDictFt iterNext;\
997  iterNextKeySmallDictFt iterNextKey;\
998  iterElementSmallDictFt iterElement;\
999  iterKeySmallDictFt iterKey;\
1000  zipSmallDictFt zip;\
1001  zipSmallJsonSmallDictFt zipSmallJson;\
1002  zipSmallJsonSmallArraySmallDictFt zipSmallJsonSmallArray;\
1003  zipSmallJsonSmallJsonSmallDictFt zipSmallJsonSmallJson;\
1004  zipSmallJsonVArraySmallDictFt zipSmallJsonVArray;\
1005  zipSmallJsonVCArraySmallDictFt zipSmallJsonVCArray;\
1006  zipArraySmallDictFt zipArray;\
1007  zipCArraySmallDictFt zipCArray;\
1008  zipArraySmallJsonSmallDictFt zipArraySmallJson;\
1009  zipCArraySmallJsonSmallDictFt zipCArraySmallJson;\
1010  zipArrayArraySmallDictFt zipArrayArray;\
1011  zipCArrayArraySmallDictFt zipCArrayArray;\
1012  zipArrayCArraySmallDictFt zipArrayCArray;\
1013  zipCArrayCArraySmallDictFt zipCArrayCArray;\
1014  zipVArraySmallDictFt zipVArray;\
1015  zipVCArraySmallDictFt zipVCArray;\
1016  fromArraySmallDictFt fromArray;\
1017  toArraySmallDictFt toArray;\
1018  writeFileSmallDictFt writeFile;\
1019  writeFileSmallJsonSmallDictFt writeFileSmallJson;\
1020  writeFileSmallStringSmallDictFt writeFileSmallString;\
1021  appendFileSmallDictFt appendFile;\
1022  appendFileSmallStringSmallDictFt appendFileSmallString;\
1023  writeStreamSmallDictFt writeStream;\
1024  logSmallDictFt log;\
1025  typeStringSmallDictFt typeString;\
1026  typeSmallStringSmallDictFt typeSmallString;\
1027  typeStringKCharSmallDictFt typeStringKChar;\
1028  typeSmallStringKCharSmallDictFt typeSmallStringKChar;\
1029  typeSmallDictFt type;\
1030  typeKCharSmallDictFt typeKChar;\
1031  typeStringsSmallDictFt typeStrings;\
1032  isETypeSmallDictFt isEType;\
1033  isEUndefinedSmallDictFt isEUndefined;\
1034  isEBoolSmallDictFt isEBool;\
1035  isEContainerSmallDictFt isEContainer;\
1036  isEDictSmallDictFt isEDict;\
1037  isEDoubleSmallDictFt isEDouble;\
1038  isEIntSmallDictFt isEInt;\
1039  isEStringSmallDictFt isEString;\
1040  isEFaststringSmallDictFt isEFaststring;\
1041  isEArraySmallDictFt isEArray;\
1042  isEBytesSmallDictFt isEBytes;\
1043  areAllETypeSmallDictFt areAllEType;\
1044  areAllEUndefinedSmallDictFt areAllEUndefined;\
1045  areAllEBoolSmallDictFt areAllEBool;\
1046  areAllEContainerSmallDictFt areAllEContainer;\
1047  areAllEDictSmallDictFt areAllEDict;\
1048  areAllEDoubleSmallDictFt areAllEDouble;\
1049  areAllEIntSmallDictFt areAllEInt;\
1050  areAllEStringSmallDictFt areAllEString;\
1051  areAllEFaststringSmallDictFt areAllEFaststring;\
1052  areAllEArraySmallDictFt areAllEArray;\
1053  areAllEBytesSmallDictFt areAllEBytes
1054 
1055 typedef struct {
1064 
1068 struct smallDict {
1069  const char *type;
1071  // internal
1073  ssize_t iterIndex;
1074  char* iterKey;
1076  // iterElementDataType indicates what the type baset object in iterElement
1077  // if iterElement is not small* class object then finish must not be called
1078  // in the iterator
1079  // baset objects not from small* classes are stored directly in smallContainers
1080  // values: SH_DT_UNKNOWN, SH_DT_BASET
1082 };
1083 
1084 // base
1085 
1086 #define createSmallDict(obj) ;smallDictt obj; initiateSmallDict(&obj)
1087 #define createAllocateSmallDict(obj) ;smallDictt *obj; initiateAllocateSmallDict(&obj)
1088 
1089 void initiateSmallDict(smallDictt *self);
1091 void finalizeRecycleSmallDict(void *arg UNUSED);
1092 void finalizeSmallDict(void);
1093 
1094 // initialize class methods, call registerMethodsSmallDict from classes inheriting this class
1096 
1097 smallDictt* allocSmallDict(void);
1098 
1099 // terminate smallDictt val when it is out of scope
1101 
1102 // free smallDictt local val when it is out of scope
1104 
1105 // free smallDictt val when it is out of scope
1106 void cleanUpSmallDictFreeG(smallDictt **val);
1107 
1108 // finish smallDictt val when it is out of scope
1110 
1111 // dispose smallDictt val when it is out of scope
1113 
1114 // smash smallDictt val when it is out of scope
1116 
1120 #define cleanSmallDictP(name) smallDictt *name CLEANUP(cleanUpSmallDictTerminateG)
1121 
1125 #define cleanAllocateSmallDict(obj) ;cleanSmallDictP(obj); initiateAllocateSmallDict(&obj)
1126 
1130 #define cleanSmallDict(name) smallDictt name CLEANUP(cleanUpSmallDictFreeLocalG); initiateSmallDict(&name)
1131 
1135 #define cleanFreeSmallDict(name) smallDictt *name CLEANUP(cleanUpSmallDictFreeG)
1136 
1140 #define cleanFinishSmallDictP(name) smallDictt *name CLEANUP(cleanUpSmallDictFinishG)
1141 
1145 #define cleanDisposeSmallDict(name) smallDictt name CLEANUP(cleanUpSmallDictDisposeG); initiateSmallDict(&name)
1146 
1150 #define cleanSmashSmallDictP(name) smallDictt *name CLEANUP(cleanUpSmallDictSmashG)
1151 
1155 #define forEachSmallDict(smallDict, key, value) \
1156  char **libsheepyInternalKeys = (smallDict)->f->keys(smallDict); \
1157  char *key = libsheepyInternalKeys[0]; \
1158  size_t UNIQVAR(libsheepyInternalIndex) = 0; \
1159  for (baset *value = smallDict->f->get(smallDict, key); libsheepyInternalKeys[UNIQVAR(libsheepyInternalIndex)] != NULL ; UNIQVAR(libsheepyInternalIndex)++, key = libsheepyInternalKeys[UNIQVAR(libsheepyInternalIndex)], value = smallDict->f->get(smallDict, key))
1160 
1161 
1167 #define forEachTypeSmallDict(type, smallDict, key, value) \
1168  char **libsheepyInternalKeys = (smallDict)->f->keys(smallDict); \
1169  char *key = libsheepyInternalKeys[0]; \
1170  size_t UNIQVAR(libsheepyInternalIndex) = 0; \
1171  for (type value = getG(smallDict, type, key); libsheepyInternalKeys[UNIQVAR(libsheepyInternalIndex)] != NULL ; UNIQVAR(libsheepyInternalIndex)++, key = libsheepyInternalKeys[UNIQVAR(libsheepyInternalIndex)], value = getG(smallDict, type, key))
1172 
1174 
1176 
1177 void freeSmallDictG (smallDictt *self);
1178 
1179 smallDictt* setSmallDictG (smallDictt *self, const char *key, baset *value);
1180 
1181 baset* getSmallDictG (smallDictt *self, baset* retType UNUSED, const char *key);
1182 undefinedt* getUndefinedSmallDictG (smallDictt *self, undefinedt* retType UNUSED, const char *key);
1183 bool getBoolSmallDictG (smallDictt *self, bool retType UNUSED, const char *key);
1184 bool* getBoolPSmallDictG (smallDictt *self, bool* retType UNUSED, const char *key);
1185 double getDoubleSmallDictG (smallDictt *self, double retType UNUSED, const char *key);
1186 double* getDoublePSmallDictG (smallDictt *self, double* retType UNUSED, const char *key);
1187 int64_t getIntSmallDictG (smallDictt *self, int64_t retType UNUSED, const char *key);
1188 int64_t* getIntPSmallDictG (smallDictt *self, int64_t* retType UNUSED, const char *key);
1189 int32_t getInt32SmallDictG (smallDictt *self, int32_t retType UNUSED, const char *key);
1190 int32_t* getInt32PSmallDictG (smallDictt *self, int32_t* retType UNUSED, const char *key);
1191 uint64_t getUintSmallDictG (smallDictt *self, uint64_t retType UNUSED, const char *key);
1192 uint64_t* getUintPSmallDictG (smallDictt *self, uint64_t* retType UNUSED, const char *key);
1193 uint32_t getUint32SmallDictG (smallDictt *self, uint32_t retType UNUSED, const char *key);
1194 uint32_t* getUint32PSmallDictG (smallDictt *self, uint32_t* retType UNUSED, const char *key);
1195 char* getSSmallDictG (smallDictt *self, char* retType UNUSED, const char *key);
1196 smallDictt* getDictSmallDictG (smallDictt *self, smallDictt* retType UNUSED, const char *key);
1197 smallArrayt* getArraySmallDictG (smallDictt *self, smallArrayt* retType UNUSED, const char *key);
1198 smallBoolt* getSmallBoolSmallDictG (smallDictt *self, smallBoolt* retType UNUSED, const char *key);
1199 smallBytest* getSmallBytesSmallDictG (smallDictt *self, smallBytest* retType UNUSED, const char *key);
1200 smallDoublet* getSmallDoubleSmallDictG (smallDictt *self, smallDoublet* retType UNUSED, const char *key);
1201 smallIntt* getSmallIntSmallDictG (smallDictt *self, smallIntt* retType UNUSED, const char *key);
1202 smallJsont* getSmallJsonSmallDictG (smallDictt *self, smallJsont* retType UNUSED, const char *key);
1203 smallStringt* getSmallStringSmallDictG (smallDictt *self, smallStringt* retType UNUSED, const char *key);
1204 void* getVoidSmallDictG (smallDictt *self, void* retType UNUSED, const char *key);
1206 
1207 baset* getKCharSmallDictG (smallDictt *self, baset* retType UNUSED, char key);
1209 bool getBoolKCharSmallDictG (smallDictt *self, bool retType UNUSED, char key);
1210 bool* getBoolPKCharSmallDictG (smallDictt *self, bool* retType UNUSED, char key);
1211 double getDoubleKCharSmallDictG (smallDictt *self, double retType UNUSED, char key);
1212 double* getDoublePKCharSmallDictG (smallDictt *self, double* retType UNUSED, char key);
1213 int64_t getIntKCharSmallDictG (smallDictt *self, int64_t retType UNUSED, char key);
1214 int64_t* getIntPKCharSmallDictG (smallDictt *self, int64_t* retType UNUSED, char key);
1215 int32_t getInt32KCharSmallDictG (smallDictt *self, int32_t retType UNUSED, char key);
1216 int32_t* getInt32PKCharSmallDictG (smallDictt *self, int32_t* retType UNUSED, char key);
1217 uint64_t getUintKCharSmallDictG (smallDictt *self, uint64_t retType UNUSED, char key);
1218 uint64_t* getUintPKCharSmallDictG (smallDictt *self, uint64_t* retType UNUSED, char key);
1219 uint32_t getUint32KCharSmallDictG (smallDictt *self, uint32_t retType UNUSED, char key);
1220 uint32_t* getUint32PKCharSmallDictG (smallDictt *self, uint32_t* retType UNUSED, char key);
1221 char* getSKCharSmallDictG (smallDictt *self, char* retType UNUSED, char key);
1222 smallDictt* getDictKCharSmallDictG (smallDictt *self, smallDictt* retType UNUSED, char key);
1223 smallArrayt* getArrayKCharSmallDictG (smallDictt *self, smallArrayt* retType UNUSED, char key);
1227 smallIntt* getSmallIntKCharSmallDictG (smallDictt *self, smallIntt* retType UNUSED, char key);
1230 void* getVoidKCharSmallDictG (smallDictt *self, void* retType UNUSED, char key);
1232 
1233 
1234 baset* getNDupSmallDictG (smallDictt *self, baset* retType UNUSED, const char *key);
1235 undefinedt* getNDupUndefinedSmallDictG (smallDictt *self, undefinedt* retType UNUSED, const char *key);
1236 bool getNDupBoolSmallDictG (smallDictt *self, bool retType UNUSED, const char *key);
1237 double getNDupDoubleSmallDictG (smallDictt *self, double retType UNUSED, const char *key);
1238 int64_t getNDupIntSmallDictG (smallDictt *self, int64_t retType UNUSED, const char *key);
1239 int32_t getNDupInt32SmallDictG (smallDictt *self, int32_t retType UNUSED, const char *key);
1240 uint64_t getNDupUintSmallDictG (smallDictt *self, uint64_t retType UNUSED, const char *key);
1241 uint32_t getNDupUint32SmallDictG (smallDictt *self, uint32_t retType UNUSED, const char *key);
1242 char* getNDupSSmallDictG (smallDictt *self, char* retType UNUSED, const char *key);
1243 smallDictt* getNDupDictSmallDictG (smallDictt *self, smallDictt* retType UNUSED, const char *key);
1244 smallArrayt* getNDupArraySmallDictG (smallDictt *self, smallArrayt* retType UNUSED, const char *key);
1245 smallBoolt* getNDupSmallBoolSmallDictG (smallDictt *self, smallBoolt* retType UNUSED, const char *key);
1246 smallBytest* getNDupSmallBytesSmallDictG (smallDictt *self, smallBytest* retType UNUSED, const char *key);
1247 smallDoublet* getNDupSmallDoubleSmallDictG (smallDictt *self, smallDoublet* retType UNUSED, const char *key);
1248 smallIntt* getNDupSmallIntSmallDictG (smallDictt *self, smallIntt* retType UNUSED, const char *key);
1249 smallJsont* getNDupSmallJsonSmallDictG (smallDictt *self, smallJsont* retType UNUSED, const char *key);
1250 smallStringt* getNDupSmallStringSmallDictG (smallDictt *self, smallStringt* retType UNUSED, const char *key);
1251 void* getNDupVoidSmallDictG (smallDictt *self, void* retType UNUSED, const char *key);
1253 
1254 baset* getNDupKCharSmallDictG (smallDictt *self, baset* retType UNUSED, char key);
1256 bool getNDupBoolKCharSmallDictG (smallDictt *self, bool retType UNUSED, char key);
1257 double getNDupDoubleKCharSmallDictG (smallDictt *self, double retType UNUSED, char key);
1258 int64_t getNDupIntKCharSmallDictG (smallDictt *self, int64_t retType UNUSED, char key);
1259 int32_t getNDupInt32KCharSmallDictG (smallDictt *self, int32_t retType UNUSED, char key);
1260 uint64_t getNDupUintKCharSmallDictG (smallDictt *self, uint64_t retType UNUSED, char key);
1261 uint32_t getNDupUint32KCharSmallDictG (smallDictt *self, uint32_t retType UNUSED, char key);
1262 char* getNDupSKCharSmallDictG (smallDictt *self, char* retType UNUSED, char key);
1271 void* getNDupVoidKCharSmallDictG (smallDictt *self, void* retType UNUSED, char key);
1273 
1274 smallDictt* setUndefinedSmallDictG(smallDictt *self, const char *key, void *value UNUSED);
1275 smallDictt* setBoolSmallDictG (smallDictt *self, const char *key, bool value);
1276 smallDictt* setDoubleSmallDictG (smallDictt *self, const char *key, double value);
1277 smallDictt* setIntSmallDictG (smallDictt *self, const char *key, int64_t value);
1278 smallDictt* setSSmallDictG (smallDictt *self, const char *key, const char *string);
1279 smallDictt* setCharSmallDictG (smallDictt *self, const char *key, char c);
1280 smallDictt* setDictSmallDictG (smallDictt *self, const char *key, smallDictt *dict);
1281 smallDictt* setArraySmallDictG (smallDictt *self, const char *key, smallArrayt *array);
1282 smallDictt* setArraycSmallDictG (smallDictt *self, const char *key, char **array);
1283 smallDictt* setCArraycSmallDictG (smallDictt *self, const char *key, const char **array);
1284 smallDictt* setVoidSmallDictG (smallDictt *self, const char *key, void *value);
1285 smallDictt* setSmallBoolSmallDictG (smallDictt *self, const char *key, smallBoolt *value);
1286 smallDictt* setSmallBytesSmallDictG (smallDictt *self, const char *key, smallBytest *value);
1288 smallDictt* setSmallIntSmallDictG (smallDictt *self, const char *key, smallIntt *value);
1289 smallDictt* setSmallJsonSmallDictG (smallDictt *self, const char *key, smallJsont *value);
1290 smallDictt* setSmallStringSmallDictG (smallDictt *self, const char *key, smallStringt *string);
1291 smallDictt* setSmallContainerSmallDictG(smallDictt *self, const char *key, smallContainert *container);
1292 
1293 smallDictt* setKCharSmallDictG (smallDictt *self, char key, baset *value);
1295 smallDictt* setBoolKCharSmallDictG (smallDictt *self, char key, bool value);
1296 smallDictt* setDoubleKCharSmallDictG (smallDictt *self, char key, double value);
1297 smallDictt* setIntKCharSmallDictG (smallDictt *self, char key, int64_t value);
1298 smallDictt* setSKCharSmallDictG (smallDictt *self, char key, const char *string);
1299 smallDictt* setCharKCharSmallDictG (smallDictt *self, char key, char c);
1300 smallDictt* setDictKCharSmallDictG (smallDictt *self, char key, smallDictt *dict);
1302 smallDictt* setArraycKCharSmallDictG (smallDictt *self, char key, char **array);
1303 smallDictt* setCArraycKCharSmallDictG (smallDictt *self, char key, const char **array);
1304 smallDictt* setVoidKCharSmallDictG (smallDictt *self, char key, void *value);
1312 
1313 smallDictt* setNFreeSmallDictG (smallDictt *self, const char *key, baset *value);
1315 smallDictt* setNFreeSSmallDictG (smallDictt *self, const char *key, char *string);
1316 smallDictt* setNFreeDictSmallDictG (smallDictt *self, const char *key, smallDictt *dict);
1317 smallDictt* setNFreeArraySmallDictG (smallDictt *self, const char *key, smallArrayt *array);
1318 smallDictt* setNFreeArraycSmallDictG (smallDictt *self, const char *key, char **array);
1322 smallDictt* setNFreeSmallIntSmallDictG (smallDictt *self, const char *key, smallIntt *value);
1324 smallDictt* setNFreeSmallStringSmallDictG (smallDictt *self, const char *key, smallStringt *string);
1325 smallDictt* setNFreeSmallContainerSmallDictG(smallDictt *self, const char *key, smallContainert *container);
1326 
1329 smallDictt* setNFreeSKCharSmallDictG (smallDictt *self, char key, char *string);
1332 smallDictt* setNFreeArraycKCharSmallDictG (smallDictt *self, char key, char **array);
1340 
1341 
1342 smallDictt* setPDictSmallDictG (smallDictt *self, const char *key, smallDictt *dict);
1343 smallDictt* setPArraySmallDictG (smallDictt *self, const char *key, smallArrayt *array);
1344 smallDictt* setPSmallJsonSmallDictG (smallDictt *self, const char *key, smallJsont *json);
1345 smallDictt* setPSmallStringSmallDictG (smallDictt *self, const char *key, smallStringt *string);
1346 smallDictt* setNFreePDictSmallDictG (smallDictt *self, const char *key, smallDictt *dict);
1347 smallDictt* setNFreePArraySmallDictG (smallDictt *self, const char *key, smallArrayt *array);
1349 smallDictt* setNFreePSmallStringSmallDictG(smallDictt *self, const char *key, smallStringt *string);
1350 
1352 smallDictt* setPDictKCharSmallDictG (smallDictt *self, char key, smallDictt *dict);
1359 
1360 double getNumSmallDictG (smallDictt *self, const char *key);
1361 
1366 
1367 bool equalSmallDictBaseG (smallDictt* self, baset* p2);
1369 bool equalSmallDictG (smallDictt* self, smallDictt* p2);
1370 
1371 bool icEqualSmallDictBaseG (smallDictt* self, baset* p2);
1373 bool icEqualSmallDictG (smallDictt* self, smallDictt* p2);
1374 
1375 baset* cropElemSmallDictG (smallDictt *self, const char* key);
1376 undefinedt* cropElemUndefinedSmallDictG (smallDictt *self, const char* key);
1377 bool cropElemBoolSmallDictG (smallDictt *self, const char* key);
1378 double cropElemDoubleSmallDictG (smallDictt *self, const char* key);
1379 int64_t cropElemIntSmallDictG (smallDictt *self, const char* key);
1380 int32_t cropElemInt32SmallDictG (smallDictt *self, const char* key);
1381 uint64_t cropElemUintSmallDictG (smallDictt *self, const char* key);
1382 uint32_t cropElemUint32SmallDictG (smallDictt *self, const char* key);
1383 char* cropElemSSmallDictG (smallDictt *self, const char* key);
1384 smallDictt* cropElemDictSmallDictG (smallDictt *self, const char* key);
1385 smallArrayt* cropElemArraySmallDictG (smallDictt *self, const char* key);
1386 smallBoolt* cropElemSmallBoolSmallDictG (smallDictt *self, const char* key);
1387 smallBytest* cropElemSmallBytesSmallDictG (smallDictt *self, const char* key);
1388 smallDoublet* cropElemSmallDoubleSmallDictG (smallDictt *self, const char* key);
1389 smallIntt* cropElemSmallIntSmallDictG (smallDictt *self, const char* key);
1390 smallJsont* cropElemSmallJsonSmallDictG (smallDictt *self, const char* key);
1391 smallStringt* cropElemSmallStringSmallDictG (smallDictt *self, const char* key);
1392 void* cropElemVoidSmallDictG (smallDictt *self, const char* key);
1394 smallDictt* delSmallDictG (smallDictt *self, const char *key, int unused UNUSED);
1395 smallDictt* delKCharSmallDictG (smallDictt *self, char key, int unused UNUSED);
1396 smallDictt* delElemSmallDictG (smallDictt *self, const char *key);
1397 smallDictt* delElemKCharSmallDictG(smallDictt *self, char key);
1398 smallDictt* removeSmallDictG (smallDictt *self, const char *key, int unused UNUSED);
1399 smallDictt* removeKCharSmallDictG (smallDictt *self, char key, int unused UNUSED);
1400 smallDictt* removeElemSmallDictG (smallDictt *self, const char *key);
1402 bool hasSmallDictG (smallDictt *self, const char *key);
1403 bool hasKCharSmallDictG (smallDictt *self, char key);
1404 char* keyBySmallDictG(smallDictt *self, baset *value);
1406 char* keyByBoolSmallDictG(smallDictt *self, bool value);
1407 char* keyByDoubleSmallDictG(smallDictt *self, double value);
1408 char* keyByIntSmallDictG(smallDictt *self, int64_t value);
1409 char* keyBySSmallDictG(smallDictt *self, const char *string);
1410 char* keyByCharSmallDictG(smallDictt *self, char c);
1411 char* keyByDictSmallDictG(smallDictt *self, smallDictt *dict);
1413 char* keyByArraycSmallDictG(smallDictt *self, char **array);
1414 char* keyByCArraycSmallDictG(smallDictt *self, const char **array);
1419 char* keyBySmallJsonSmallDictG(smallDictt *self, smallJsont *string);
1420 char* keyBySmallStringSmallDictG(smallDictt *self, smallStringt *string);
1422 char* icKeyBySmallDictG(smallDictt *self, baset *value);
1423 char* icKeyBySSmallDictG(smallDictt *self, const char *string);
1424 char* icKeyByCharSmallDictG(smallDictt *self, char c);
1425 char* icKeyByDictSmallDictG(smallDictt *self, smallDictt *dict);
1427 char* icKeyByArraycSmallDictG(smallDictt *self, char **array);
1428 char* icKeyByCArraycSmallDictG(smallDictt *self, const char **array);
1429 char* icKeyBySmallJsonSmallDictG(smallDictt *self, smallJsont *string);
1433 size_t lenSmallDictG (smallDictt *self);
1435 bool isEmptySmallDictG (smallDictt *self);
1446 smallDictt* zipArrayArraySmallDictG (smallDictt *self, char** keys, char** values);
1447 smallDictt* zipCArrayArraySmallDictG (smallDictt *self, const char** keys, char** values);
1448 smallDictt* zipArrayCArraySmallDictG (smallDictt *self, char** keys, const char** values);
1449 smallDictt* zipCArrayCArraySmallDictG (smallDictt *self, const char** keys, const char** values);
1454 bool writeFileSmallDictG (smallDictt *self, const char *filePath);
1455 bool writeFileSmallJsonSmallDictG (smallDictt *self, smallJsont *filePath);
1457 bool appendFileSmallDictG (smallDictt *self, const char *filePath);
1459 bool writeStreamSmallDictG (smallDictt *self, FILE *fp);
1460 void logSmallDictG(smallDictt *self);
1461 smallStringt* typeSmallStringSmallDictG(smallDictt *self, const char *key);
1462 const char* typeStringKCharSmallDictG (smallDictt *self, char key);
1464 
1465 // end class smallDict
char * getNDupSKCharSmallDictG(smallDictt *self, char *retType UNUSED, char key)
uint32_t * getUint32PKCharSmallDictG(smallDictt *self, uint32_t *retType UNUSED, char key)
undefinedt * getUndefinedKCharSmallDictG(smallDictt *self, undefinedt *retType UNUSED, char key)
smallDictt * setKCharSmallDictG(smallDictt *self, char key, baset *value)
void cleanUpSmallDictFreeG(smallDictt **val)
smallDictt * setPDictSmallDictG(smallDictt *self, const char *key, smallDictt *dict)
int64_t getNDupIntKCharSmallDictG(smallDictt *self, int64_t retType UNUSED, char key)
int32_t * getInt32PSmallDictG(smallDictt *self, int32_t *retType UNUSED, const char *key)
char * keyBySSmallDictG(smallDictt *self, const char *string)
smallDictt * setNFreeSmallContainerSmallDictG(smallDictt *self, const char *key, smallContainert *container)
smallDictt * mergeNSmashSmallDictG(smallDictt *self, smallDictt *smallDict)
smallDictt * zipSmallJsonVCArraySmallDictG(smallDictt *self, smallJsont *keys, const char **values)
smallt * so
int64_t getIntKCharSmallDictG(smallDictt *self, int64_t retType UNUSED, char key)
bool isEmptySmallDictG(smallDictt *self)
bool(* areAllEBytesSmallDictFt)(smallDictt *self)
bool(* equalSmallDictBaseFt)(smallDictt *self, baset *p2)
char(* typeKCharSmallDictFt)(smallDictt *self, char key)
char * getSSmallDictG(smallDictt *self, char *retType UNUSED, const char *key)
smallArrayt * getArrayKCharSmallDictG(smallDictt *self, smallArrayt *retType UNUSED, char key)
smallDictt * getDictSmallDictG(smallDictt *self, smallDictt *retType UNUSED, const char *key)
bool appendFileSmallStringSmallDictG(smallDictt *self, smallStringt *filePath)
smallDictt * setNFreeUndefinedKCharSmallDictG(smallDictt *self, char key, undefinedt *undefined)
smallDictt * setNFreeSmallIntKCharSmallDictG(smallDictt *self, char key, smallIntt *value)
smallStringt * cropElemSmallStringSmallDictG(smallDictt *self, const char *key)
smallDictt * duplicateSmallDictG(smallDictt *self)
smallArrayt * values
char * keyBySmallStringSmallDictG(smallDictt *self, smallStringt *string)
bool(* writeFileSmallStringSmallDictFt)(smallDictt *self, smallStringt *filePath)
smallDictt * zipArraySmallDictG(smallDictt *self, char **keys, smallArrayt *values)
smallDictt * setBoolKCharSmallDictG(smallDictt *self, char key, bool value)
smallDictt * allocSmallDictG(smallDictt *self UNUSED)
smallDictt * setPSmallStringKCharSmallDictG(smallDictt *self, char key, smallStringt *string)
double * getDoublePSmallDictG(smallDictt *self, double *retType UNUSED, const char *key)
char * keyByIntSmallDictG(smallDictt *self, int64_t value)
undefinedt * getNDupUndefinedKCharSmallDictG(smallDictt *self, undefinedt *retType UNUSED, char key)
smallDictt * setSmallBoolSmallDictG(smallDictt *self, const char *key, smallBoolt *value)
smallDictt * setVoidKCharSmallDictG(smallDictt *self, char key, void *value)
double(* getNDupDoubleKCharSmallDictFt)(smallDictt *self, char key)
smallDoublet * getNDupSmallDoubleKCharSmallDictG(smallDictt *self, smallDoublet *retType UNUSED, char key)
smallDictt * zipArrayArraySmallDictG(smallDictt *self, char **keys, char **values)
bool(* writeStreamSmallDictFt)(smallDictt *self, FILE *fp)
int32_t getNDupInt32KCharSmallDictG(smallDictt *self, int32_t retType UNUSED, char key)
bool(* equalSmallDictFt)(smallDictt *self, smallDictt *p2)
uint64_t(* getNDupUintSmallDictFt)(smallDictt *self, const char *key)
smallDictt * delElemKCharSmallDictG(smallDictt *self, char key)
smallDictt * setNFreeArraycSmallDictG(smallDictt *self, const char *key, char **array)
smallDictt * setUndefinedKCharSmallDictG(smallDictt *self, char key, undefinedt *value UNUSED)
bool(* isEContainerSmallDictFt)(smallDictt *self, const char *key)
smallBytest * getSmallBytesKCharSmallDictG(smallDictt *self, smallBytest *retType UNUSED, char key)
smallDictt * setDoubleKCharSmallDictG(smallDictt *self, char key, double value)
int32_t(* getNDupInt32SmallDictFt)(smallDictt *self, const char *key)
smallDictt * setNFreePSmallJsonSmallDictG(smallDictt *self, const char *key, smallJsont *json)
char * keyByArraycSmallDictG(smallDictt *self, char **array)
smallDictt * setCharKCharSmallDictG(smallDictt *self, char key, char c)
uint32_t getNDupUint32KCharSmallDictG(smallDictt *self, uint32_t retType UNUSED, char key)
smallDictt * setNFreePDictSmallDictG(smallDictt *self, const char *key, smallDictt *dict)
smallDictt * mergeNSmashSmallJsonSmallDictG(smallDictt *self, smallJsont *json)
uint32_t(* getUint32KCharSmallDictFt)(smallDictt *self, char key)
smallDictt * setNFreeSmallDoubleKCharSmallDictG(smallDictt *self, char key, smallDoublet *value)
smallStringt * getNDupSmallStringKCharSmallDictG(smallDictt *self, smallStringt *retType UNUSED, char key)
void finalizeRecycleSmallDict(void *arg UNUSED)
smallDoublet * cropElemSmallDoubleSmallDictG(smallDictt *self, const char *key)
int64_t(* getNDupIntSmallDictFt)(smallDictt *self, const char *key)
bool(* isETypeSmallDictFt)(smallDictt *self, const char *key, const char *type)
is element at key of type type
smallDictt * setNFreeSmallBoolSmallDictG(smallDictt *self, const char *key, smallBoolt *value)
smallDictt * setNFreeSmallJsonSmallDictG(smallDictt *self, const char *key, smallJsont *value)
smallContainert * getNDupSmallContainerKCharSmallDictG(smallDictt *self, smallContainert *retType UNUSED, char key)
smallDictt * setDictKCharSmallDictG(smallDictt *self, char key, smallDictt *dict)
undefinedt * getNDupUndefinedSmallDictG(smallDictt *self, undefinedt *retType UNUSED, const char *key)
smallBoolt * getNDupSmallBoolSmallDictG(smallDictt *self, smallBoolt *retType UNUSED, const char *key)
smallDictt * setNFreeSmallContainerKCharSmallDictG(smallDictt *self, char key, smallContainert *container)
smallDictt * setSmallStringKCharSmallDictG(smallDictt *self, char key, smallStringt *string)
smallDictt * emptySmallDictG(smallDictt *self)
bool equalSmallDictBaseG(smallDictt *self, baset *p2)
smallDictt * removeKCharSmallDictG(smallDictt *self, char key, int unused UNUSED)
char * keyBySmallDoubleSmallDictG(smallDictt *self, smallDoublet *value)
int32_t(* cropElemInt32SmallDictFt)(smallDictt *self, const char *key)
uint32_t(* getUint32SmallDictFt)(smallDictt *self, const char *key)
smallDictt * setPSmallJsonKCharSmallDictG(smallDictt *self, char key, smallJsont *json)
double cropElemDoubleSmallDictG(smallDictt *self, const char *key)
smallDictt * setNFreeSmallBytesSmallDictG(smallDictt *self, const char *key, smallBytest *value)
smallDictt * zipSmallJsonSmallDictG(smallDictt *self, smallArrayt *keys, smallJsont *values)
uint64_t * getUintPKCharSmallDictG(smallDictt *self, uint64_t *retType UNUSED, char key)
undefinedt * undefined
undefined/null object for setting undefined/null in small data structures pushG(a, undefined);
int32_t getInt32SmallDictG(smallDictt *self, int32_t retType UNUSED, const char *key)
bool(* appendFileSmallStringSmallDictFt)(smallDictt *self, smallStringt *filePath)
smallBytest * getNDupSmallBytesSmallDictG(smallDictt *self, smallBytest *retType UNUSED, const char *key)
smallDictt * setCharSmallDictG(smallDictt *self, const char *key, char c)
bool getNDupBoolSmallDictG(smallDictt *self, bool retType UNUSED, const char *key)
int32_t * getInt32PKCharSmallDictG(smallDictt *self, int32_t *retType UNUSED, char key)
char * keyByDoubleSmallDictG(smallDictt *self, double value)
smallDictt * zipSmallJsonSmallArraySmallDictG(smallDictt *self, smallJsont *keys, smallArrayt *values)
bool(* areAllEBoolSmallDictFt)(smallDictt *self)
smallDictt * setNFreeSmallDictG(smallDictt *self, const char *key, baset *value)
uint64_t(* getNDupUintKCharSmallDictFt)(smallDictt *self, char key)
terminateSmallDictFt terminate
int32_t(* getNDupInt32KCharSmallDictFt)(smallDictt *self, char key)
smallDictt * setNFreeKCharSmallDictG(smallDictt *self, char key, baset *value)
bool(* cropElemBoolSmallDictFt)(smallDictt *self, const char *key)
void(* disposeSmallDictFt)(smallDictt *self)
free index but not the elements self becomes empty.
bool(* icEqualSmallDictSmallJsonFt)(smallDictt *self, smallJsont *p2)
uint32_t * getUint32PSmallDictG(smallDictt *self, uint32_t *retType UNUSED, const char *key)
void registerMethodsSmallDict(smallDictFunctionst *f)
char * keyBySmallContainerSmallDictG(smallDictt *self, smallContainert *container)
smallDictt * zipVArraySmallDictG(smallDictt *self, smallArrayt *keys, char **values)
bool(* hasKCharSmallDictFt)(smallDictt *self, char key)
void cleanUpSmallDictDisposeG(smallDictt *val)
bool(* getBoolSmallDictFt)(smallDictt *self, const char *key)
void cleanUpSmallDictFinishG(smallDictt **val)
double getDoubleKCharSmallDictG(smallDictt *self, double retType UNUSED, char key)
smallDictt * setNFreeSmallJsonKCharSmallDictG(smallDictt *self, char key, smallJsont *value)
void finalizeSmallDict(void)
smallDictt * cropElemDictSmallDictG(smallDictt *self, const char *key)
smallDictt * removeSmallDictG(smallDictt *self, const char *key, int unused UNUSED)
smallDictt * mergeSmallJsonSmallDictG(smallDictt *self, smallJsont *json)
char * getNDupSSmallDictG(smallDictt *self, char *retType UNUSED, const char *key)
bool(* isEStringSmallDictFt)(smallDictt *self, const char *key)
smallDictt * setPSmallJsonSmallDictG(smallDictt *self, const char *key, smallJsont *json)
smallBytest * cropElemSmallBytesSmallDictG(smallDictt *self, const char *key)
smallDictt * zipCArrayCArraySmallDictG(smallDictt *self, const char **keys, const char **values)
smallDictt * setNFreePArraySmallDictG(smallDictt *self, const char *key, smallArrayt *array)
int32_t getInt32KCharSmallDictG(smallDictt *self, int32_t retType UNUSED, char key)
bool(* getBoolKCharSmallDictFt)(smallDictt *self, char key)
void initiateAllocateSmallDict(smallDictt **self)
bool hasSmallDictG(smallDictt *self, const char *key)
bool(* icEqualSmallDictBaseFt)(smallDictt *self, baset *p2)
smallDictt * zipVCArraySmallDictG(smallDictt *self, smallArrayt *keys, const char **values)
int64_t cropElemIntSmallDictG(smallDictt *self, const char *key)
void * getNDupVoidKCharSmallDictG(smallDictt *self, void *retType UNUSED, char key)
bool appendFileSmallDictG(smallDictt *self, const char *filePath)
uint64_t getNDupUintKCharSmallDictG(smallDictt *self, uint64_t retType UNUSED, char key)
char * icKeyByDictSmallDictG(smallDictt *self, smallDictt *dict)
uint64_t(* getUintKCharSmallDictFt)(smallDictt *self, char key)
smallDictt * setNFreePSmallJsonKCharSmallDictG(smallDictt *self, char key, smallJsont *json)
uint64_t(* cropElemUintSmallDictFt)(smallDictt *self, const char *key)
uint32_t getUint32KCharSmallDictG(smallDictt *self, uint32_t retType UNUSED, char key)
bool * getBoolPSmallDictG(smallDictt *self, bool *retType UNUSED, const char *key)
smallArrayt * getNDupArrayKCharSmallDictG(smallDictt *self, smallArrayt *retType UNUSED, char key)
void cleanUpSmallDictFreeLocalG(smallDictt *val)
smallDictt * setNFreePSmallStringKCharSmallDictG(smallDictt *self, char key, smallStringt *string)
smallDictt * zipSmallJsonSmallJsonSmallDictG(smallDictt *self, smallJsont *keys, smallJsont *values)
bool(* areAllEIntSmallDictFt)(smallDictt *self)
smallDictt * setSmallDoubleSmallDictG(smallDictt *self, const char *key, smallDoublet *value)
smallDictt * setSSmallDictG(smallDictt *self, const char *key, const char *string)
char * array[]
char * keyByCharSmallDictG(smallDictt *self, char c)
void * getNDupVoidSmallDictG(smallDictt *self, void *retType UNUSED, const char *key)
void cleanUpSmallDictSmashG(smallDictt **val)
bool(* equalSmallDictSmallJsonFt)(smallDictt *self, smallJsont *p2)
bool getBoolKCharSmallDictG(smallDictt *self, bool retType UNUSED, char key)
bool(* getNDupBoolKCharSmallDictFt)(smallDictt *self, char key)
smallDictt * setPSmallStringSmallDictG(smallDictt *self, const char *key, smallStringt *string)
size_t(* lenSmallDictFt)(smallDictt *self)
number of elements
void(* resetSmallDictFt)(smallDictt *self)
remove reference to internal sObject, set NULL and free the iterator
smallContainert * getSmallContainerSmallDictG(smallDictt *self, smallContainert *retType UNUSED, const char *key)
smallDoublet * getNDupSmallDoubleSmallDictG(smallDictt *self, smallDoublet *retType UNUSED, const char *key)
const char * type
smallArrayt * cropElemArraySmallDictG(smallDictt *self, const char *key)
char * icKeyBySSmallDictG(smallDictt *self, const char *string)
smallBytest * getNDupSmallBytesKCharSmallDictG(smallDictt *self, smallBytest *retType UNUSED, char key)
char * icKeyByCArraycSmallDictG(smallDictt *self, const char **array)
uint64_t cropElemUintSmallDictG(smallDictt *self, const char *key)
bool(* isEFaststringSmallDictFt)(smallDictt *self, const char *key)
smallDictt *(* duplicateSmallDictFt)(smallDictt *self)
uint32_t getUint32SmallDictG(smallDictt *self, uint32_t retType UNUSED, const char *key)
smallDictt * zipCArraySmallDictG(smallDictt *self, const char **keys, smallArrayt *values)
void(* finishSmallDictFt)(smallDictt **self)
free container
double getNumSmallDictG(smallDictt *self, const char *key)
smallContainert * getNDupSmallContainerSmallDictG(smallDictt *self, smallContainert *retType UNUSED, const char *key)
smallDictt * removeElemKCharSmallDictG(smallDictt *self, char key)
smallDictt * getDictKCharSmallDictG(smallDictt *self, smallDictt *retType UNUSED, char key)
smallDictt * setSmallStringSmallDictG(smallDictt *self, const char *key, smallStringt *string)
smallDictt * setNFreeSSmallDictG(smallDictt *self, const char *key, char *string)
baset * getNDupKCharSmallDictG(smallDictt *self, baset *retType UNUSED, char key)
bool icEqualSmallDictBaseG(smallDictt *self, baset *p2)
smallDictt * setCArraycKCharSmallDictG(smallDictt *self, char key, const char **array)
smallDictt * zipSmallDictG(smallDictt *self, smallArrayt *keys, smallArrayt *values)
char * icKeyBySmallDictG(smallDictt *self, baset *value)
smallDictt * setPDictKCharSmallDictG(smallDictt *self, char key, smallDictt *dict)
bool(* icEqualSmallDictFt)(smallDictt *self, smallDictt *p2)
bool icEqualSmallDictG(smallDictt *self, smallDictt *p2)
smallDictt * setPArrayKCharSmallDictG(smallDictt *self, char key, smallArrayt *array)
smallDictt * setDictSmallDictG(smallDictt *self, const char *key, smallDictt *dict)
smallDictt * setSmallBytesKCharSmallDictG(smallDictt *self, char key, smallBytest *value)
baset * cropElemSmallDictG(smallDictt *self, const char *key)
smallDictt * setBoolSmallDictG(smallDictt *self, const char *key, bool value)
smallDictt * delKCharSmallDictG(smallDictt *self, char key, int unused UNUSED)
smallDictt * setNFreeSmallStringKCharSmallDictG(smallDictt *self, char key, smallStringt *string)
char * getSKCharSmallDictG(smallDictt *self, char *retType UNUSED, char key)
bool(* isEIntSmallDictFt)(smallDictt *self, const char *key)
double(* getDoubleSmallDictFt)(smallDictt *self, const char *key)
uint32_t(* getNDupUint32SmallDictFt)(smallDictt *self, const char *key)
bool writeFileSmallStringSmallDictG(smallDictt *self, smallStringt *filePath)
int64_t(* cropElemIntSmallDictFt)(smallDictt *self, const char *key)
END_TEST FILE * fp
bool(* appendFileSmallDictFt)(smallDictt *self, const char *filePath)
append dictionary to filePath
smallDictt * setNFreeArraycKCharSmallDictG(smallDictt *self, char key, char **array)
smallDoublet * getSmallDoubleKCharSmallDictG(smallDictt *self, smallDoublet *retType UNUSED, char key)
smallDictt * trimSmallDictG(smallDictt *self)
uint64_t(* getUintSmallDictFt)(smallDictt *self, const char *key)
bool(* hasSmallDictFt)(smallDictt *self, const char *key)
check if self has 'key'
bool(* areAllEStringSmallDictFt)(smallDictt *self)
smallDictt * setNFreePArrayKCharSmallDictG(smallDictt *self, char key, smallArrayt *array)
smallDictt * setSmallJsonSmallDictG(smallDictt *self, const char *key, smallJsont *value)
smallDictt * setSmallIntKCharSmallDictG(smallDictt *self, char key, smallIntt *value)
smallDictt * setNFreeSmallBoolKCharSmallDictG(smallDictt *self, char key, smallBoolt *value)
char * keyByCArraycSmallDictG(smallDictt *self, const char **array)
char c
bool(* areAllEContainerSmallDictFt)(smallDictt *self)
char * keyBySmallDictG(smallDictt *self, baset *value)
smallDictt * setVoidSmallDictG(smallDictt *self, const char *key, void *value)
smallDictt * setArraySmallDictG(smallDictt *self, const char *key, smallArrayt *array)
smallDictt * setNFreeSmallDoubleSmallDictG(smallDictt *self, const char *key, smallDoublet *value)
bool(* isEBoolSmallDictFt)(smallDictt *self, const char *key)
bool(* isEDoubleSmallDictFt)(smallDictt *self, const char *key)
baset * getKCharSmallDictG(smallDictt *self, baset *retType UNUSED, char key)
smallStringt * getNDupSmallStringSmallDictG(smallDictt *self, smallStringt *retType UNUSED, const char *key)
void * cropElemVoidSmallDictG(smallDictt *self, const char *key)
smallBoolt * cropElemSmallBoolSmallDictG(smallDictt *self, const char *key)
smallDictt * getNDupDictSmallDictG(smallDictt *self, smallDictt *retType UNUSED, const char *key)
void(* enumerateSmallDictFt)(smallDictt *self, void *closure, enumerateElementSmallDictFt funcElem)
enumerate elements in the dictionary
char * keyByArraySmallDictG(smallDictt *self, smallArrayt *array)
const char * typeStringKCharSmallDictG(smallDictt *self, char key)
smallDictt * setCArraycSmallDictG(smallDictt *self, const char *key, const char **array)
smallJsont * getNDupSmallJsonKCharSmallDictG(smallDictt *self, smallJsont *retType UNUSED, char key)
smallDictt * zipArrayCArraySmallDictG(smallDictt *self, char **keys, const char **values)
char * icKeyByArraySmallDictG(smallDictt *self, smallArrayt *array)
uint32_t getNDupUint32SmallDictG(smallDictt *self, uint32_t retType UNUSED, const char *key)
bool(* isEmptySmallDictFt)(smallDictt *self)
bool hasKCharSmallDictG(smallDictt *self, char key)
uint64_t * getUintPSmallDictG(smallDictt *self, uint64_t *retType UNUSED, const char *key)
smallDictt * setPArraySmallDictG(smallDictt *self, const char *key, smallArrayt *array)
bool getNDupBoolKCharSmallDictG(smallDictt *self, bool retType UNUSED, char key)
smallDictt * setSmallDictG(smallDictt *self, const char *key, baset *value)
uint64_t getNDupUintSmallDictG(smallDictt *self, uint64_t retType UNUSED, const char *key)
smallDictt * delElemSmallDictG(smallDictt *self, const char *key)
char * keyBySmallJsonSmallDictG(smallDictt *self, smallJsont *string)
smallStringt * getSmallStringKCharSmallDictG(smallDictt *self, smallStringt *retType UNUSED, char key)
bool writeFileSmallDictG(smallDictt *self, const char *filePath)
bool(* writeFileSmallJsonSmallDictFt)(smallDictt *self, smallJsont *filePath)
smallDictt * setArrayKCharSmallDictG(smallDictt *self, char key, smallArrayt *array)
void(* terminateSmallDictFt)(smallDictt **self)
char * icKeyBySmallJsonSmallDictG(smallDictt *self, smallJsont *string)
smallDictt * setSKCharSmallDictG(smallDictt *self, char key, const char *string)
smallBoolt * getSmallBoolSmallDictG(smallDictt *self, smallBoolt *retType UNUSED, const char *key)
int64_t getNDupIntSmallDictG(smallDictt *self, int64_t retType UNUSED, const char *key)
smallIntt * cropElemSmallIntSmallDictG(smallDictt *self, const char *key)
bool(* isEUndefinedSmallDictFt)(smallDictt *self, const char *key)
uint32_t cropElemUint32SmallDictG(smallDictt *self, const char *key)
bool(* isEBytesSmallDictFt)(smallDictt *self, const char *key)
int64_t(* getIntKCharSmallDictFt)(smallDictt *self, char key)
smallStringt * typeSmallStringKCharSmallDictG(smallDictt *self, char key)
bool(* isEDictSmallDictFt)(smallDictt *self, const char *key)
smallDictt * setArraycSmallDictG(smallDictt *self, const char *key, char **array)
smallDictt * setSmallBoolKCharSmallDictG(smallDictt *self, char key, smallBoolt *value)
smallIntt * getSmallIntSmallDictG(smallDictt *self, smallIntt *retType UNUSED, const char *key)
smallDictt * setSmallIntSmallDictG(smallDictt *self, const char *key, smallIntt *value)
smallContainert * cropElemSmallContainerSmallDictG(smallDictt *self, const char *key)
undefinedt * cropElemUndefinedSmallDictG(smallDictt *self, const char *key)
bool * getBoolPKCharSmallDictG(smallDictt *self, bool *retType UNUSED, char key)
smallDictt * setNFreeUndefinedSmallDictG(smallDictt *self, const char *key, undefinedt *undefined)
size_t lenSmallDictG(smallDictt *self)
toStringSmallDictFt toString
smallJsont * getNDupSmallJsonSmallDictG(smallDictt *self, smallJsont *retType UNUSED, const char *key)
smallStringt * typeSmallStringSmallDictG(smallDictt *self, const char *key)
void cleanUpSmallDictTerminateG(smallDictt **val)
bool icEqualSmallDictSmallJsonG(smallDictt *self, smallJsont *p2)
void(* setsoSmallDictFt)(smallDictt *self, sDictt *so)
set the sobject, data in the container the iterator is reset
initiateAllocateSmallJson & json
uint32_t(* getNDupUint32KCharSmallDictFt)(smallDictt *self, char key)
double(* getNDupDoubleSmallDictFt)(smallDictt *self, const char *key)
smallDictt * setNFreeSmallStringSmallDictG(smallDictt *self, const char *key, smallStringt *string)
smallDictt * zipCArraySmallJsonSmallDictG(smallDictt *self, const char **keys, smallJsont *values)
smallDictt * fromArraySmallDictG(smallDictt *self, smallArrayt *items)
in value value
smallBoolt * getNDupSmallBoolKCharSmallDictG(smallDictt *self, smallBoolt *retType UNUSED, char key)
smallArrayt * getArraySmallDictG(smallDictt *self, smallArrayt *retType UNUSED, const char *key)
undefinedt * getUndefinedSmallDictG(smallDictt *self, undefinedt *retType UNUSED, const char *key)
uint64_t getUintSmallDictG(smallDictt *self, uint64_t retType UNUSED, const char *key)
bool equalSmallDictSmallJsonG(smallDictt *self, smallJsont *p2)
smallDictt * setNFreeDictKCharSmallDictG(smallDictt *self, char key, smallDictt *dict)
smallDictt * allocSmallDict(void)
bool(* areAllEDictSmallDictFt)(smallDictt *self)
dictionary
double(* cropElemDoubleSmallDictFt)(smallDictt *self, const char *key)
smallDictFunctionst * f
smallJsont * cropElemSmallJsonSmallDictG(smallDictt *self, const char *key)
char * keyBySmallIntSmallDictG(smallDictt *self, smallIntt *value)
int64_t(* getIntSmallDictFt)(smallDictt *self, const char *key)
finishSmallDictFt finish
smallDictt * setSmallContainerKCharSmallDictG(smallDictt *self, char key, smallContainert *container)
void freeSmallDictG(smallDictt *self)
bool(* areAllETypeSmallDictFt)(smallDictt *self, const char *type)
are all elements of type type
char * cropElemSSmallDictG(smallDictt *self, const char *key)
uint64_t getUintKCharSmallDictG(smallDictt *self, uint64_t retType UNUSED, char key)
smallDictt * setNFreeArrayKCharSmallDictG(smallDictt *self, char key, smallArrayt *array)
duplicateSmallDictFt duplicate
smallDictt * setIntSmallDictG(smallDictt *self, const char *key, int64_t value)
char * keyBySmallBytesSmallDictG(smallDictt *self, smallBytest *value)
#define UNUSED
Definition: libsheepy.h:8195
smallBoolt * getSmallBoolKCharSmallDictG(smallDictt *self, smallBoolt *retType UNUSED, char key)
smallDictt * zipArraySmallJsonSmallDictG(smallDictt *self, char **keys, smallJsont *values)
double(* getDoubleKCharSmallDictFt)(smallDictt *self, char key)
smallDictt * setSmallDoubleKCharSmallDictG(smallDictt *self, char key, smallDoublet *value)
void * getVoidSmallDictG(smallDictt *self, void *retType UNUSED, const char *key)
int64_t getIntSmallDictG(smallDictt *self, int64_t retType UNUSED, const char *key)
smallJsont * getSmallJsonKCharSmallDictG(smallDictt *self, smallJsont *retType UNUSED, char key)
smallStringt * getSmallStringSmallDictG(smallDictt *self, smallStringt *retType UNUSED, const char *key)
smallDictt * setNFreePSmallStringSmallDictG(smallDictt *self, const char *key, smallStringt *string)
smallArrayt * getNDupArraySmallDictG(smallDictt *self, smallArrayt *retType UNUSED, const char *key)
smallDictt * setNFreeArraySmallDictG(smallDictt *self, const char *key, smallArrayt *array)
smallDictt * removeElemSmallDictG(smallDictt *self, const char *key)
smallDictt * getNDupDictKCharSmallDictG(smallDictt *self, smallDictt *retType UNUSED, char key)
baset * getSmallDictG(smallDictt *self, baset *retType UNUSED, const char *key)
char *(* toStringSmallDictFt)(smallDictt *self)
smallDictt * setNFreeSKCharSmallDictG(smallDictt *self, char key, char *string)
bool(* areAllEFaststringSmallDictFt)(smallDictt *self)
void(* logSmallDictFt)(smallDictt *self)
print dictionary content to stdout
bool(* areAllEDoubleSmallDictFt)(smallDictt *self)
baset * getNDupSmallDictG(smallDictt *self, baset *retType UNUSED, const char *key)
int32_t(* getInt32KCharSmallDictFt)(smallDictt *self, char key)
char * keyBySmallBoolSmallDictG(smallDictt *self, smallBoolt *value)
smallContainert * getSmallContainerKCharSmallDictG(smallDictt *self, smallContainert *retType UNUSED, char key)
char ** keys
bool equalSmallDictG(smallDictt *self, smallDictt *p2)
bool(* enumerateElementSmallDictFt)(void *closure, char *key, baset *element)
user defined function called in the enumerate loop this fucntion is a parameter to the enumerate func...
base class
smallIntt * getNDupSmallIntSmallDictG(smallDictt *self, smallIntt *retType UNUSED, const char *key)
smallDictt * setUndefinedSmallDictG(smallDictt *self, const char *key, void *value UNUSED)
void * getVoidKCharSmallDictG(smallDictt *self, void *retType UNUSED, char key)
bool(* isEArraySmallDictFt)(smallDictt *self, const char *key)
bool(* getNDupBoolSmallDictFt)(smallDictt *self, const char *key)
smallIntt * getSmallIntKCharSmallDictG(smallDictt *self, smallIntt *retType UNUSED, char key)
smallDictt * setNFreeSmallIntSmallDictG(smallDictt *self, const char *key, smallIntt *value)
double getNDupDoubleKCharSmallDictG(smallDictt *self, double retType UNUSED, char key)
smallArrayt * keysSmallStringSmallDictG(smallDictt *self)
int32_t getNDupInt32SmallDictG(smallDictt *self, int32_t retType UNUSED, const char *key)
void logSmallDictG(smallDictt *self)
int32_t cropElemInt32SmallDictG(smallDictt *self, const char *key)
smallDictt * mergeSmallDictG(smallDictt *self, smallDictt *smallDict)
bool getBoolSmallDictG(smallDictt *self, bool retType UNUSED, const char *key)
char * icKeyByArraycSmallDictG(smallDictt *self, char **array)
smallDoublet * getSmallDoubleSmallDictG(smallDictt *self, smallDoublet *retType UNUSED, const char *key)
smallDictt * zipSmallJsonVArraySmallDictG(smallDictt *self, smallJsont *keys, char **values)
uint32_t(* cropElemUint32SmallDictFt)(smallDictt *self, const char *key)
int64_t * getIntPKCharSmallDictG(smallDictt *self, int64_t *retType UNUSED, char key)
smallDictt * setSmallJsonKCharSmallDictG(smallDictt *self, char key, smallJsont *value)
smallDictt * zipCArrayArraySmallDictG(smallDictt *self, const char **keys, char **values)
smallArrayt * toArraySmallDictG(smallDictt *self)
smallDictt * setNFreeSmallBytesKCharSmallDictG(smallDictt *self, char key, smallBytest *value)
double(* getNumSmallDictFt)(smallDictt *self, const char *key)
get number
char(* typeSmallDictFt)(smallDictt *self, const char *key)
get object type for key
bool writeStreamSmallDictG(smallDictt *self, FILE *fp)
bool(* areAllEUndefinedSmallDictFt)(smallDictt *self)
smallBytest * getSmallBytesSmallDictG(smallDictt *self, smallBytest *retType UNUSED, const char *key)
double getNDupDoubleSmallDictG(smallDictt *self, double retType UNUSED, const char *key)
bool writeFileSmallJsonSmallDictG(smallDictt *self, smallJsont *filePath)
smallDictt * setNFreeDictSmallDictG(smallDictt *self, const char *key, smallDictt *dict)
smallJsont * getSmallJsonSmallDictG(smallDictt *self, smallJsont *retType UNUSED, const char *key)
smallIntt * getNDupSmallIntKCharSmallDictG(smallDictt *self, smallIntt *retType UNUSED, char key)
char * icKeyByCharSmallDictG(smallDictt *self, char c)
smallDictt * setArraycKCharSmallDictG(smallDictt *self, char key, char **array)
int32_t(* getInt32SmallDictFt)(smallDictt *self, const char *key)
char * keyByBoolSmallDictG(smallDictt *self, bool value)
int64_t(* getNDupIntKCharSmallDictFt)(smallDictt *self, char key)
void initiateSmallDict(smallDictt *self)
double * getDoublePKCharSmallDictG(smallDictt *self, double *retType UNUSED, char key)
smallDictt * setSmallContainerSmallDictG(smallDictt *self, const char *key, smallContainert *container)
bool(* writeFileSmallDictFt)(smallDictt *self, const char *filePath)
write dictionary to filePath
void(* freeSmallDictFt)(smallDictt *self)
smallDictt * setSmallBytesSmallDictG(smallDictt *self, const char *key, smallBytest *value)
bool(* areAllEArraySmallDictFt)(smallDictt *self)
smallDictt * setIntKCharSmallDictG(smallDictt *self, char key, int64_t value)
smallDictt * setNFreePDictKCharSmallDictG(smallDictt *self, char key, smallDictt *dict)
char * icKeyBySmallStringSmallDictG(smallDictt *self, smallStringt *string)
int64_t * getIntPSmallDictG(smallDictt *self, int64_t *retType UNUSED, const char *key)
smallDictt * setDoubleSmallDictG(smallDictt *self, const char *key, double value)
bool cropElemBoolSmallDictG(smallDictt *self, const char *key)
char * keyByDictSmallDictG(smallDictt *self, smallDictt *dict)
void(* smashSmallDictFt)(smallDictt **self)
free self but not the elements self becomes empty.
char * keyByUndefinedSmallDictG(smallDictt *self, undefinedt *undefined)
double getDoubleSmallDictG(smallDictt *self, double retType UNUSED, const char *key)
smallDictt * delSmallDictG(smallDictt *self, const char *key, int unused UNUSED)