libsheepy
libsheepyCSmallArray.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 // note: this file is generated, edit the source *_pp.h
25 
26 
27 // Class smallArray
28 typedef struct smallArray smallArrayt;
29 
35 #define helpTextSmallArray "TODO smallArray help brief, class description /*, definitions,*/ methods, examples"
36 
37 // for object inheriting smallArray, cast to smallArray to be able to use this class functions and generics
38 #define cAr(self) ( (smallArrayt*) self )
39 
40 typedef void (*freeSmallArrayFt) (smallArrayt *self);
41 typedef void (*terminateSmallArrayFt) (smallArrayt **self);
42 typedef char* (*toStringSmallArrayFt) (smallArrayt *self);
43 typedef smallArrayt* (*duplicateSmallArrayFt) (smallArrayt *self);
44 
45 typedef char* (*escapeSmallArrayFt) (smallArrayt *self);
46 
53 typedef void (*disposeSmallArrayFt) (smallArrayt *self);
54 
61 typedef void (*smashSmallArrayFt) (smallArrayt **self);
62 
66 typedef void (*finishSmallArrayFt) (smallArrayt **self);
67 
68 typedef const char* (*helpSmallArrayFt) (smallArrayt *self);
69 
86 typedef void (*resetSmallArrayFt) (smallArrayt *self);
87 
91 typedef sArrayt* (*getsoSmallArrayFt) (smallArrayt *self);
92 
97 typedef void (*setsoSmallArrayFt) (smallArrayt *self, sArrayt *so);
98 
104 typedef smallArrayt* (*mirrorSmallArrayFt) (smallArrayt *self);
105 
119 typedef smallArrayt* (*fromArraySmallArrayFt)(smallArrayt *self, char **array, size_t size);
120 typedef smallArrayt* (*fromCArraySmallArrayFt)(smallArrayt *self, const char **array, size_t size);
121 typedef smallArrayt* (*fromArrayNFreeSmallArrayFt)(smallArrayt *self, char **array, size_t size);
122 
149 typedef smallArrayt* (*pushSmallArrayFt) (smallArrayt *self, baset *value);
150 typedef smallArrayt* (*pushUndefinedSmallArrayFt) (smallArrayt *self);
151 typedef smallArrayt* (*pushBoolSmallArrayFt) (smallArrayt *self, bool value);
152 typedef smallArrayt* (*pushDoubleSmallArrayFt) (smallArrayt *self, double value);
153 typedef smallArrayt* (*pushIntSmallArrayFt) (smallArrayt *self, int64_t value);
154 typedef smallArrayt* (*pushSSmallArrayFt) (smallArrayt *self, const char *string);
155 typedef smallArrayt* (*pushCharSmallArrayFt) (smallArrayt *self, char c);
156 typedef smallArrayt* (*pushDictSmallArrayFt) (smallArrayt *self, smallDictt *dict);
157 typedef smallArrayt* (*pushArraySmallArrayFt) (smallArrayt *self, smallArrayt *array);
158 typedef smallArrayt* (*pushArraycSmallArrayFt) (smallArrayt *self, char **array);
159 typedef smallArrayt* (*pushCArraycSmallArrayFt) (smallArrayt *self, const char **array);
160 typedef smallArrayt* (*pushSmallBoolSmallArrayFt) (smallArrayt *self, smallBoolt *value);
161 typedef smallArrayt* (*pushSmallBytesSmallArrayFt) (smallArrayt *self, smallBytest *value);
162 typedef smallArrayt* (*pushSmallDoubleSmallArrayFt) (smallArrayt *self, smallDoublet *value);
163 typedef smallArrayt* (*pushSmallIntSmallArrayFt) (smallArrayt *self, smallIntt *value);
164 typedef smallArrayt* (*pushSmallJsonSmallArrayFt) (smallArrayt *self, smallJsont *value);
165 typedef smallArrayt* (*pushSmallStringSmallArrayFt) (smallArrayt *self, smallStringt *string);
166 typedef smallArrayt* (*pushSmallContainerSmallArrayFt) (smallArrayt *self, smallContainert *container);
167 
177 typedef smallArrayt* (*pushNFreeSmallArrayFt) (smallArrayt *self, baset *value);
178 typedef smallArrayt* (*pushNFreeUndefinedSmallArrayFt) (smallArrayt *self, undefinedt *undefined);
179 typedef smallArrayt* (*pushNFreeSSmallArrayFt) (smallArrayt *self, char *string);
180 typedef smallArrayt* (*pushNFreeDictSmallArrayFt) (smallArrayt *self, smallDictt *dict);
181 typedef smallArrayt* (*pushNFreeArraySmallArrayFt) (smallArrayt *self, smallArrayt *array);
182 typedef smallArrayt* (*pushNFreeArraycSmallArrayFt) (smallArrayt *self, char **array);
183 typedef smallArrayt* (*pushNFreeSmallBoolSmallArrayFt) (smallArrayt *self, smallBoolt *value);
184 typedef smallArrayt* (*pushNFreeSmallBytesSmallArrayFt) (smallArrayt *self, smallBytest *value);
185 typedef smallArrayt* (*pushNFreeSmallDoubleSmallArrayFt) (smallArrayt *self, smallDoublet *value);
186 typedef smallArrayt* (*pushNFreeSmallIntSmallArrayFt) (smallArrayt *self, smallIntt *value);
187 typedef smallArrayt* (*pushNFreeSmallJsonSmallArrayFt) (smallArrayt *self, smallJsont *value);
188 typedef smallArrayt* (*pushNFreeSmallStringSmallArrayFt) (smallArrayt *self, smallStringt *string);
189 typedef smallArrayt* (*pushNFreeSmallContainerSmallArrayFt)(smallArrayt *self, smallContainert *container);
190 
197 typedef smallArrayt* (*pushManySmallArrayFt) (smallArrayt *self, ...);
198 
205 typedef smallArrayt* (*pushManySSmallArrayFt) (smallArrayt *self, ...);
206 
213 typedef smallArrayt* (*pushNFreeManySmallArrayFt) (smallArrayt *self, ...);
214 
221 typedef smallArrayt* (*pushNFreeManySSmallArrayFt)(smallArrayt *self, ...);
222 
223 
232 typedef baset* (*popSmallArrayFt) (smallArrayt *self);
233 typedef undefinedt* (*popUndefinedSmallArrayFt) (smallArrayt *self);
234 typedef bool (*popBoolSmallArrayFt) (smallArrayt *self);
235 typedef double (*popDoubleSmallArrayFt) (smallArrayt *self);
236 typedef int64_t (*popIntSmallArrayFt) (smallArrayt *self);
237 typedef int32_t (*popInt32SmallArrayFt) (smallArrayt *self);
238 typedef uint64_t (*popUintSmallArrayFt) (smallArrayt *self);
239 typedef uint32_t (*popUint32SmallArrayFt) (smallArrayt *self);
240 typedef char* (*popSSmallArrayFt) (smallArrayt *self);
241 typedef smallDictt* (*popDictSmallArrayFt) (smallArrayt *self);
242 typedef smallArrayt* (*popArraySmallArrayFt) (smallArrayt *self);
243 typedef smallBoolt* (*popSmallBoolSmallArrayFt) (smallArrayt *self);
244 typedef smallBytest* (*popSmallBytesSmallArrayFt) (smallArrayt *self);
245 typedef smallDoublet* (*popSmallDoubleSmallArrayFt) (smallArrayt *self);
246 typedef smallIntt* (*popSmallIntSmallArrayFt) (smallArrayt *self);
247 typedef smallJsont* (*popSmallJsonSmallArrayFt) (smallArrayt *self);
248 typedef smallStringt* (*popSmallStringSmallArrayFt) (smallArrayt *self);
249 typedef void* (*popVoidSmallArrayFt) (smallArrayt *self);
250 typedef smallContainert* (*popSmallContainerSmallArrayFt)(smallArrayt *self);
251 
262 typedef double (*popNumSmallArrayFt) (smallArrayt *self);
263 
289 typedef smallArrayt* (*prependSmallArrayFt) (smallArrayt *self, baset *value);
290 typedef smallArrayt* (*prependUndefinedSmallArrayFt) (smallArrayt *self);
291 typedef smallArrayt* (*prependBoolSmallArrayFt) (smallArrayt *self, bool value);
292 typedef smallArrayt* (*prependDoubleSmallArrayFt) (smallArrayt *self, double value);
293 typedef smallArrayt* (*prependIntSmallArrayFt) (smallArrayt *self, int64_t value);
294 typedef smallArrayt* (*prependSSmallArrayFt) (smallArrayt *self, const char *string);
295 typedef smallArrayt* (*prependCharSmallArrayFt) (smallArrayt *self, char c);
296 typedef smallArrayt* (*prependDictSmallArrayFt) (smallArrayt *self, smallDictt *dict);
297 typedef smallArrayt* (*prependArraySmallArrayFt) (smallArrayt *self, smallArrayt *array);
298 typedef smallArrayt* (*prependArraycSmallArrayFt) (smallArrayt *self, char **array);
299 typedef smallArrayt* (*prependCArraycSmallArrayFt) (smallArrayt *self, const char **array);
300 typedef smallArrayt* (*prependSmallBoolSmallArrayFt) (smallArrayt *self, smallBoolt *value);
301 typedef smallArrayt* (*prependSmallBytesSmallArrayFt) (smallArrayt *self, smallBytest *value);
302 typedef smallArrayt* (*prependSmallDoubleSmallArrayFt) (smallArrayt *self, smallDoublet *value);
303 typedef smallArrayt* (*prependSmallIntSmallArrayFt) (smallArrayt *self, smallIntt *value);
304 typedef smallArrayt* (*prependSmallJsonSmallArrayFt) (smallArrayt *self, smallJsont *json);
305 typedef smallArrayt* (*prependSmallStringSmallArrayFt) (smallArrayt *self, smallStringt *string);
306 typedef smallArrayt* (*prependSmallContainerSmallArrayFt) (smallArrayt *self, smallContainert *container);
307 
308 typedef smallArrayt* (*prependNFreeSmallArrayFt) (smallArrayt *self, baset *value);
309 typedef smallArrayt* (*prependNFreeUndefinedSmallArrayFt) (smallArrayt *self, undefinedt *undefined);
310 typedef smallArrayt* (*prependNFreeSSmallArrayFt) (smallArrayt *self, char *string);
311 typedef smallArrayt* (*prependNFreeDictSmallArrayFt) (smallArrayt *self, smallDictt *dict);
312 typedef smallArrayt* (*prependNFreeArraySmallArrayFt) (smallArrayt *self, smallArrayt *array);
313 typedef smallArrayt* (*prependNFreeArraycSmallArrayFt) (smallArrayt *self, char **array);
314 typedef smallArrayt* (*prependNFreeSmallBoolSmallArrayFt) (smallArrayt *self, smallBoolt *value);
315 typedef smallArrayt* (*prependNFreeSmallBytesSmallArrayFt) (smallArrayt *self, smallBytest *value);
316 typedef smallArrayt* (*prependNFreeSmallDoubleSmallArrayFt) (smallArrayt *self, smallDoublet *value);
317 typedef smallArrayt* (*prependNFreeSmallIntSmallArrayFt) (smallArrayt *self, smallIntt *value);
318 typedef smallArrayt* (*prependNFreeSmallJsonSmallArrayFt) (smallArrayt *self, smallJsont *json);
319 typedef smallArrayt* (*prependNFreeSmallStringSmallArrayFt) (smallArrayt *self, smallStringt *string);
320 typedef smallArrayt* (*prependNFreeSmallContainerSmallArrayFt)(smallArrayt *self, smallContainert *container);
321 
330 typedef baset* (*dequeueSmallArrayFt) (smallArrayt *self);
331 typedef undefinedt* (*dequeueUndefinedSmallArrayFt) (smallArrayt *self);
332 typedef bool (*dequeueBoolSmallArrayFt) (smallArrayt *self);
333 typedef double (*dequeueDoubleSmallArrayFt) (smallArrayt *self);
334 typedef int64_t (*dequeueIntSmallArrayFt) (smallArrayt *self);
335 typedef int32_t (*dequeueInt32SmallArrayFt) (smallArrayt *self);
336 typedef uint64_t (*dequeueUintSmallArrayFt) (smallArrayt *self);
337 typedef uint32_t (*dequeueUint32SmallArrayFt) (smallArrayt *self);
338 typedef char* (*dequeueSSmallArrayFt) (smallArrayt *self);
339 typedef smallDictt* (*dequeueDictSmallArrayFt) (smallArrayt *self);
340 typedef smallArrayt* (*dequeueArraySmallArrayFt) (smallArrayt *self);
341 typedef smallBoolt* (*dequeueSmallBoolSmallArrayFt) (smallArrayt *self);
342 typedef smallBytest* (*dequeueSmallBytesSmallArrayFt) (smallArrayt *self);
343 typedef smallDoublet* (*dequeueSmallDoubleSmallArrayFt) (smallArrayt *self);
344 typedef smallIntt* (*dequeueSmallIntSmallArrayFt) (smallArrayt *self);
345 typedef smallJsont* (*dequeueSmallJsonSmallArrayFt) (smallArrayt *self);
346 typedef smallStringt* (*dequeueSmallStringSmallArrayFt) (smallArrayt *self);
347 typedef void* (*dequeueVoidSmallArrayFt) (smallArrayt *self);
348 typedef smallContainert* (*dequeueSmallContainerSmallArrayFt)(smallArrayt *self);
349 
360 typedef double (*dequeueNumSmallArrayFt) (smallArrayt *self);
361 
371 typedef smallArrayt* (*reverseSmallArrayFt) (smallArrayt *self);
372 
373 
382 typedef smallArrayt* (*catSmallArrayFt) (smallArrayt *self, ...);
383 
398 typedef smallArrayt* (*appendSmallArrayFt) (smallArrayt *self, smallArrayt *array);
399 typedef smallArrayt* (*appendSmallJsonSmallArrayFt) (smallArrayt *self, smallJsont *json);
400 typedef smallArrayt* (*appendNSmashSmallArrayFt) (smallArrayt *self, smallArrayt *array);
401 typedef smallArrayt* (*appendNSmashSmallJsonSmallArrayFt)(smallArrayt *self, smallJsont *json);
402 typedef smallArrayt* (*appendArraySmallArrayFt) (smallArrayt *self, char **array);
403 typedef smallArrayt* (*appendCArraySmallArrayFt) (smallArrayt *self, const char **array);
404 typedef smallArrayt* (*appendNSmashArraySmallArrayFt) (smallArrayt *self, char **array);
405 
420 typedef smallArrayt* (*shiftSmallArrayFt) (smallArrayt *self, smallArrayt *array);
421 typedef smallArrayt* (*shiftSmallJsonSmallArrayFt) (smallArrayt *self, smallJsont *json);
422 typedef smallArrayt* (*shiftNSmashSmallArrayFt) (smallArrayt *self, smallArrayt *array);
423 typedef smallArrayt* (*shiftNSmashSmallJsonSmallArrayFt)(smallArrayt *self, smallJsont *json);
424 
434 typedef smallArrayt* (*addSmallArrayFt) (smallArrayt *self, smallArrayt *array);
435 
452 typedef smallArrayt* (*sliceSmallArrayFt) (smallArrayt *self, int64_t start, int64_t end);
453 
474 typedef smallArrayt* (*cropSmallArrayFt) (smallArrayt *self, int64_t start, int64_t end);
475 
476 
490 typedef baset* (*cropElemSmallArrayFt) (smallArrayt *self, int64_t index);
491 typedef undefinedt* (*cropElemUndefinedSmallArrayFt) (smallArrayt *self, int64_t index);
492 typedef bool (*cropElemBoolSmallArrayFt) (smallArrayt *self, int64_t index);
493 typedef double (*cropElemDoubleSmallArrayFt) (smallArrayt *self, int64_t index);
494 typedef int64_t (*cropElemIntSmallArrayFt) (smallArrayt *self, int64_t index);
495 typedef int32_t (*cropElemInt32SmallArrayFt) (smallArrayt *self, int64_t index);
496 typedef uint64_t (*cropElemUintSmallArrayFt) (smallArrayt *self, int64_t index);
497 typedef uint32_t (*cropElemUint32SmallArrayFt) (smallArrayt *self, int64_t index);
498 typedef char* (*cropElemSSmallArrayFt) (smallArrayt *self, int64_t index);
499 typedef smallDictt* (*cropElemDictSmallArrayFt) (smallArrayt *self, int64_t index);
500 typedef smallArrayt* (*cropElemArraySmallArrayFt) (smallArrayt *self, int64_t index);
501 typedef smallBoolt* (*cropElemSmallBoolSmallArrayFt) (smallArrayt *self, int64_t index);
502 typedef smallBytest* (*cropElemSmallBytesSmallArrayFt) (smallArrayt *self, int64_t index);
503 typedef smallDoublet* (*cropElemSmallDoubleSmallArrayFt) (smallArrayt *self, int64_t index);
504 typedef smallIntt* (*cropElemSmallIntSmallArrayFt) (smallArrayt *self, int64_t index);
505 typedef smallJsont* (*cropElemSmallJsonSmallArrayFt) (smallArrayt *self, int64_t index);
506 typedef smallStringt* (*cropElemSmallStringSmallArrayFt) (smallArrayt *self, int64_t index);
507 typedef void* (*cropElemVoidSmallArrayFt) (smallArrayt *self, int64_t index);
508 typedef smallContainert* (*cropElemSmallContainerSmallArrayFt) (smallArrayt *self, int64_t index);
509 
525 typedef smallArrayt* (*copySmallArrayFt) (smallArrayt *self, int64_t start, int64_t end);
526 
543 typedef smallArrayt* (*insertSmallArrayFt) (smallArrayt *self, int64_t index, smallArrayt *toInsert);
544 typedef smallArrayt* (*insertSmallJsonSmallArrayFt) (smallArrayt *self, int64_t index, smallJsont *toInsert);
545 typedef smallArrayt* (*insertNSmashSmallArrayFt) (smallArrayt *self, int64_t index, smallArrayt *toInsert);
546 typedef smallArrayt* (*insertNSmashSmallJsonSmallArrayFt)(smallArrayt *self, int64_t index, smallJsont *toInsert);
547 
563 typedef smallArrayt* (*injectSmallArrayFt) (smallArrayt *self, int64_t index, baset *toInject);
564 typedef smallArrayt* (*injectUndefinedSmallArrayFt)(smallArrayt *self, int64_t index);
565 typedef smallArrayt* (*injectBoolSmallArrayFt) (smallArrayt *self, int64_t index, bool toInject);
566 typedef smallArrayt* (*injectDoubleSmallArrayFt) (smallArrayt *self, int64_t index, double toInject);
567 typedef smallArrayt* (*injectIntSmallArrayFt) (smallArrayt *self, int64_t index, int64_t toInject);
568 typedef smallArrayt* (*injectSSmallArrayFt) (smallArrayt *self, int64_t index, const char *toInject);
569 typedef smallArrayt* (*injectCharSmallArrayFt) (smallArrayt *self, int64_t index, char c);
570 typedef smallArrayt* (*injectDictSmallArrayFt) (smallArrayt *self, int64_t index, smallDictt *toInject);
571 typedef smallArrayt* (*injectArraySmallArrayFt) (smallArrayt *self, int64_t index, smallArrayt *toInject);
572 typedef smallArrayt* (*injectArraycSmallArrayFt) (smallArrayt *self, int64_t index, char **toInject);
573 typedef smallArrayt* (*injectCArraycSmallArrayFt) (smallArrayt *self, int64_t index, const char **toInject);
574 typedef smallArrayt* (*injectSmallBoolSmallArrayFt) (smallArrayt *self, int64_t index, smallBoolt *toInject);
575 typedef smallArrayt* (*injectSmallBytesSmallArrayFt) (smallArrayt *self, int64_t index, smallBytest *toInject);
576 typedef smallArrayt* (*injectSmallDoubleSmallArrayFt) (smallArrayt *self, int64_t index, smallDoublet *toInject);
577 typedef smallArrayt* (*injectSmallIntSmallArrayFt) (smallArrayt *self, int64_t index, smallIntt *toInject);
578 typedef smallArrayt* (*injectSmallJsonSmallArrayFt) (smallArrayt *self, int64_t index, smallJsont *toInject);
579 typedef smallArrayt* (*injectSmallStringSmallArrayFt) (smallArrayt *self, int64_t index, smallStringt *toInject);
580 typedef smallArrayt* (*injectSmallContainerSmallArrayFt)(smallArrayt *self, int64_t index, smallContainert *toInject);
581 
582 typedef smallArrayt* (*injectNFreeSmallArrayFt) (smallArrayt *self, int64_t index, baset *toInject);
583 typedef smallArrayt* (*injectNFreeUndefinedSmallArrayFt)(smallArrayt *self, int64_t index, undefinedt *undefined);
584 typedef smallArrayt* (*injectNFreeSSmallArrayFt) (smallArrayt *self, int64_t index, char *toInject);
585 typedef smallArrayt* (*injectNFreeDictSmallArrayFt) (smallArrayt *self, int64_t index, smallDictt *toInject);
586 typedef smallArrayt* (*injectNFreeArraySmallArrayFt) (smallArrayt *self, int64_t index, smallArrayt *toInject);
587 typedef smallArrayt* (*injectNFreeArraycSmallArrayFt) (smallArrayt *self, int64_t index, char **toInject);
588 typedef smallArrayt* (*injectNFreeSmallBoolSmallArrayFt) (smallArrayt *self, int64_t index, smallBoolt *toInject);
589 typedef smallArrayt* (*injectNFreeSmallBytesSmallArrayFt) (smallArrayt *self, int64_t index, smallBytest *toInject);
590 typedef smallArrayt* (*injectNFreeSmallDoubleSmallArrayFt) (smallArrayt *self, int64_t index, smallDoublet *toInject);
591 typedef smallArrayt* (*injectNFreeSmallIntSmallArrayFt) (smallArrayt *self, int64_t index, smallIntt *toInject);
592 typedef smallArrayt* (*injectNFreeSmallJsonSmallArrayFt) (smallArrayt *self, int64_t index, smallJsont *toInject);
593 typedef smallArrayt* (*injectNFreeSmallStringSmallArrayFt) (smallArrayt *self, int64_t index, smallStringt *toInject);
594 typedef smallArrayt* (*injectNFreeSmallContainerSmallArrayFt)(smallArrayt *self, int64_t index, smallContainert *toInject);
595 
611 typedef smallArrayt* (*delSmallArrayFt) (smallArrayt *self, int64_t start, int64_t end);
612 
629 typedef smallArrayt* (*delElemSmallArrayFt) (smallArrayt *self, int64_t index);
630 
646 typedef smallArrayt* (*removeSmallArrayFt) (smallArrayt *self, int64_t start, int64_t end);
647 
665 typedef smallArrayt* (*removeElemSmallArrayFt) (smallArrayt *self, int64_t index);
666 
677 typedef smallArrayt* (*sortSmallArrayFt) (smallArrayt *self);
678 
679 
694 typedef smallArrayt* (*sortFSmallArrayFt) (smallArrayt *self, shCmpt compareFunction);
695 
706 typedef smallArrayt* (*icSortSmallArrayFt) (smallArrayt *self);
707 
717 typedef bool (*equalSmallArrayFt) (smallArrayt *self, smallArrayt *array);
719 typedef bool (*equalSmallArrayArrayFt) (smallArrayt* self, char ** p2);
720 typedef bool (*equalSmallArrayCArrayFt) (smallArrayt* self, const char ** p2);
721 typedef bool (*equalSmallArrayBaseFt) (smallArrayt* self, baset* p2);
722 
734 typedef bool (*icEqualSmallArrayArrayFt) (smallArrayt* self, char ** p2);
735 typedef bool (*icEqualSmallArrayCArrayFt) (smallArrayt* self, const char ** p2);
736 typedef bool (*icEqualSmallArrayBaseFt) (smallArrayt* self, baset* p2);
737 
745 typedef size_t (*lenSmallArrayFt) (smallArrayt *self);
746 
750 typedef smallArrayt* (*trimSmallArrayFt) (smallArrayt *self);
751 
762 typedef baset* (*getAtSmallArrayFt) (smallArrayt *self, int64_t index);
763 typedef undefinedt* (*getAtUndefinedSmallArrayFt) (smallArrayt *self, int64_t index);
764 typedef bool (*getAtBoolSmallArrayFt) (smallArrayt *self, int64_t index);
765 typedef bool* (*getAtBoolPSmallArrayFt) (smallArrayt *self, int64_t index);
766 typedef double (*getAtDoubleSmallArrayFt) (smallArrayt *self, int64_t index);
767 typedef double* (*getAtDoublePSmallArrayFt) (smallArrayt *self, int64_t index);
768 typedef int64_t (*getAtIntSmallArrayFt) (smallArrayt *self, int64_t index);
769 typedef int64_t* (*getAtIntPSmallArrayFt) (smallArrayt *self, int64_t index);
770 typedef int32_t (*getAtInt32SmallArrayFt) (smallArrayt *self, int64_t index);
771 typedef int32_t* (*getAtInt32PSmallArrayFt) (smallArrayt *self, int64_t index);
772 typedef uint64_t (*getAtUintSmallArrayFt) (smallArrayt *self, int64_t index);
773 typedef uint64_t* (*getAtUintPSmallArrayFt) (smallArrayt *self, int64_t index);
774 typedef uint32_t (*getAtUint32SmallArrayFt) (smallArrayt *self, int64_t index);
775 typedef uint32_t* (*getAtUint32PSmallArrayFt) (smallArrayt *self, int64_t index);
776 typedef char* (*getAtSSmallArrayFt) (smallArrayt *self, int64_t index);
777 typedef smallDictt* (*getAtDictSmallArrayFt) (smallArrayt *self, int64_t index);
778 typedef smallArrayt* (*getAtArraySmallArrayFt) (smallArrayt *self, int64_t index);
779 typedef smallBoolt* (*getAtSmallBoolSmallArrayFt) (smallArrayt *self, int64_t index);
780 typedef smallBytest* (*getAtSmallBytesSmallArrayFt) (smallArrayt *self, int64_t index);
781 typedef smallDoublet* (*getAtSmallDoubleSmallArrayFt) (smallArrayt *self, int64_t index);
782 typedef smallIntt* (*getAtSmallIntSmallArrayFt) (smallArrayt *self, int64_t index);
783 typedef smallJsont* (*getAtSmallJsonSmallArrayFt) (smallArrayt *self, int64_t index);
784 typedef smallStringt* (*getAtSmallStringSmallArrayFt) (smallArrayt *self, int64_t index);
785 typedef void* (*getAtVoidSmallArrayFt) (smallArrayt *self, int64_t index);
786 typedef smallContainert* (*getAtSmallContainerSmallArrayFt)(smallArrayt *self, int64_t index);
787 
798 typedef baset* (*getAtNDupSmallArrayFt) (smallArrayt *self, int64_t index);
799 typedef undefinedt* (*getAtNDupUndefinedSmallArrayFt) (smallArrayt *self, int64_t index);
800 typedef bool (*getAtNDupBoolSmallArrayFt) (smallArrayt *self, int64_t index);
801 typedef double (*getAtNDupDoubleSmallArrayFt) (smallArrayt *self, int64_t index);
802 typedef int64_t (*getAtNDupIntSmallArrayFt) (smallArrayt *self, int64_t index);
803 typedef int32_t (*getAtNDupInt32SmallArrayFt) (smallArrayt *self, int64_t index);
804 typedef uint64_t (*getAtNDupUintSmallArrayFt) (smallArrayt *self, int64_t index);
805 typedef uint32_t (*getAtNDupUint32SmallArrayFt) (smallArrayt *self, int64_t index);
806 typedef char* (*getAtNDupSSmallArrayFt) (smallArrayt *self, int64_t index);
807 typedef smallDictt* (*getAtNDupDictSmallArrayFt) (smallArrayt *self, int64_t index);
808 typedef smallArrayt* (*getAtNDupArraySmallArrayFt) (smallArrayt *self, int64_t index);
809 typedef smallBoolt* (*getAtNDupSmallBoolSmallArrayFt) (smallArrayt *self, int64_t index);
810 typedef smallBytest* (*getAtNDupSmallBytesSmallArrayFt) (smallArrayt *self, int64_t index);
811 typedef smallDoublet* (*getAtNDupSmallDoubleSmallArrayFt) (smallArrayt *self, int64_t index);
812 typedef smallIntt* (*getAtNDupSmallIntSmallArrayFt) (smallArrayt *self, int64_t index);
813 typedef smallJsont* (*getAtNDupSmallJsonSmallArrayFt) (smallArrayt *self, int64_t index);
814 typedef smallStringt* (*getAtNDupSmallStringSmallArrayFt) (smallArrayt *self, int64_t index);
815 typedef void* (*getAtNDupVoidSmallArrayFt) (smallArrayt *self, int64_t index);
816 typedef smallContainert* (*getAtNDupSmallContainerSmallArrayFt)(smallArrayt *self, int64_t index);
817 
847 typedef smallArrayt* (*setAtSmallArrayFt) (smallArrayt *self, int64_t index, baset *value);
848 typedef smallArrayt* (*setAtUndefinedSmallArrayFt)(smallArrayt *self, int64_t index);
849 typedef smallArrayt* (*setAtBoolSmallArrayFt) (smallArrayt *self, int64_t index, bool value);
850 typedef smallArrayt* (*setAtDoubleSmallArrayFt) (smallArrayt *self, int64_t index, double value);
851 typedef smallArrayt* (*setAtIntSmallArrayFt) (smallArrayt *self, int64_t index, int64_t value);
852 typedef smallArrayt* (*setAtSSmallArrayFt) (smallArrayt *self, int64_t index, const char *string);
853 typedef smallArrayt* (*setAtCharSmallArrayFt) (smallArrayt *self, int64_t index, char c);
854 typedef smallArrayt* (*setAtDictSmallArrayFt) (smallArrayt *self, int64_t index, smallDictt *dict);
855 typedef smallArrayt* (*setAtArraySmallArrayFt) (smallArrayt *self, int64_t index, smallArrayt *array);
856 typedef smallArrayt* (*setAtArraycSmallArrayFt) (smallArrayt *self, int64_t index, char **array);
857 typedef smallArrayt* (*setAtCArraycSmallArrayFt) (smallArrayt *self, int64_t index, const char **array);
858 typedef smallArrayt* (*setAtSmallBoolSmallArrayFt) (smallArrayt *self, int64_t index, smallBoolt *value);
859 typedef smallArrayt* (*setAtSmallBytesSmallArrayFt) (smallArrayt *self, int64_t index, smallBytest *value);
860 typedef smallArrayt* (*setAtSmallDoubleSmallArrayFt) (smallArrayt *self, int64_t index, smallDoublet *value);
861 typedef smallArrayt* (*setAtSmallIntSmallArrayFt) (smallArrayt *self, int64_t index, smallIntt *value);
862 typedef smallArrayt* (*setAtSmallJsonSmallArrayFt) (smallArrayt *self, int64_t index, smallJsont *value);
863 typedef smallArrayt* (*setAtSmallStringSmallArrayFt) (smallArrayt *self, int64_t index, smallStringt *string);
864 typedef smallArrayt* (*setAtSmallContainerSmallArrayFt)(smallArrayt *self, int64_t index, smallContainert *container);
865 
882 typedef smallArrayt* (*setAtNFreeSmallArrayFt) (smallArrayt *self, int64_t index, baset *value);
883 typedef smallArrayt* (*setAtNFreeUndefinedSmallArrayFt)(smallArrayt *self, int64_t index, undefinedt *undefined);
884 typedef smallArrayt* (*setAtNFreeSSmallArrayFt) (smallArrayt *self, int64_t index, char *string);
885 typedef smallArrayt* (*setAtNFreeDictSmallArrayFt) (smallArrayt *self, int64_t index, smallDictt *dict);
886 typedef smallArrayt* (*setAtNFreeArraySmallArrayFt) (smallArrayt *self, int64_t index, smallArrayt *array);
887 typedef smallArrayt* (*setAtNFreeArraycSmallArrayFt) (smallArrayt *self, int64_t index, char **array);
888 typedef smallArrayt* (*setAtNFreeSmallBoolSmallArrayFt) (smallArrayt *self, int64_t index, smallBoolt *value);
889 typedef smallArrayt* (*setAtNFreeSmallBytesSmallArrayFt) (smallArrayt *self, int64_t index, smallBytest *value);
890 typedef smallArrayt* (*setAtNFreeSmallDoubleSmallArrayFt) (smallArrayt *self, int64_t index, smallDoublet *value);
891 typedef smallArrayt* (*setAtNFreeSmallIntSmallArrayFt) (smallArrayt *self, int64_t index, smallIntt *value);
892 typedef smallArrayt* (*setAtNFreeSmallJsonSmallArrayFt) (smallArrayt *self, int64_t index, smallJsont *value);
893 typedef smallArrayt* (*setAtNFreeSmallStringSmallArrayFt) (smallArrayt *self, int64_t index, smallStringt *string);
894 typedef smallArrayt* (*setAtNFreeSmallContainerSmallArrayFt)(smallArrayt *self, int64_t index, smallContainert *container);
895 
910 typedef smallArrayt* (*setPAtArraySmallArrayFt) (smallArrayt *self, int64_t index, smallArrayt *array);
911 typedef smallArrayt* (*setPAtDictSmallArrayFt) (smallArrayt *self, int64_t index, smallDictt *dict);
912 typedef smallArrayt* (*setPAtSmallJsonSmallArrayFt) (smallArrayt *self, int64_t index, smallJsont *json);
913 typedef smallArrayt* (*setPAtSmallStringSmallArrayFt) (smallArrayt *self, int64_t index, smallStringt *string);
914 typedef smallArrayt* (*setPAtNFreeArraySmallArrayFt) (smallArrayt *self, int64_t index, smallArrayt *array);
915 typedef smallArrayt* (*setPAtNFreeDictSmallArrayFt) (smallArrayt *self, int64_t index, smallDictt *dict);
916 typedef smallArrayt* (*setPAtNFreeSmallJsonSmallArrayFt) (smallArrayt *self, int64_t index, smallJsont *json);
917 typedef smallArrayt* (*setPAtNFreeSmallStringSmallArrayFt)(smallArrayt *self, int64_t index, smallStringt *string);
918 
931 typedef double (*getNumSmallArrayFt) (smallArrayt *self, int64_t index);
932 
941 typedef bool (*hasSmallArrayFt) (smallArrayt *self, baset *value);
943 typedef bool (*hasBoolSmallArrayFt) (smallArrayt *self, bool value);
944 typedef bool (*hasDoubleSmallArrayFt) (smallArrayt *self, double value);
945 typedef bool (*hasIntSmallArrayFt) (smallArrayt *self, int64_t value);
946 typedef bool (*hasSSmallArrayFt) (smallArrayt *self, const char *string);
947 typedef bool (*hasCharSmallArrayFt) (smallArrayt *self, char c);
948 typedef bool (*hasDictSmallArrayFt) (smallArrayt *self, smallDictt *dict);
950 typedef bool (*hasArraycSmallArrayFt) (smallArrayt *self, char **array);
951 typedef bool (*hasCArraycSmallArrayFt) (smallArrayt *self, const char **array);
956 typedef bool (*hasSmallJsonSmallArrayFt) (smallArrayt *self, smallJsont *string);
957 typedef bool (*hasSmallStringSmallArrayFt) (smallArrayt *self, smallStringt *string);
958 typedef bool (*hasSmallContainerSmallArrayFt)(smallArrayt *self, smallContainert *container);
959 
970 typedef ssize_t (*indexOfSmallArrayFt) (smallArrayt *self, baset *value);
972 typedef ssize_t (*indexOfBoolSmallArrayFt) (smallArrayt *self, bool value);
973 typedef ssize_t (*indexOfDoubleSmallArrayFt) (smallArrayt *self, double value);
974 typedef ssize_t (*indexOfIntSmallArrayFt) (smallArrayt *self, int64_t value);
975 typedef ssize_t (*indexOfSSmallArrayFt) (smallArrayt *self, const char *string);
976 typedef ssize_t (*indexOfCharSmallArrayFt) (smallArrayt *self, char c);
977 typedef ssize_t (*indexOfDictSmallArrayFt) (smallArrayt *self, smallDictt *dict);
979 typedef ssize_t (*indexOfArraycSmallArrayFt) (smallArrayt *self, char **array);
980 typedef ssize_t (*indexOfCArraycSmallArrayFt) (smallArrayt *self, const char **array);
985 typedef ssize_t (*indexOfSmallJsonSmallArrayFt) (smallArrayt *self, smallJsont *string);
986 typedef ssize_t (*indexOfSmallStringSmallArrayFt) (smallArrayt *self, smallStringt *string);
987 typedef ssize_t (*indexOfSmallContainerSmallArrayFt)(smallArrayt *self, smallContainert *container);
988 
999 typedef ssize_t (*binarySearchSmallArrayFt) (smallArrayt *self, baset *value);
1001 typedef ssize_t (*binarySearchBoolSmallArrayFt) (smallArrayt *self, bool value);
1002 typedef ssize_t (*binarySearchDoubleSmallArrayFt) (smallArrayt *self, double value);
1003 typedef ssize_t (*binarySearchIntSmallArrayFt) (smallArrayt *self, int64_t value);
1004 typedef ssize_t (*binarySearchSSmallArrayFt) (smallArrayt *self, const char *string);
1005 typedef ssize_t (*binarySearchCharSmallArrayFt) (smallArrayt *self, char c);
1006 typedef ssize_t (*binarySearchDictSmallArrayFt) (smallArrayt *self, smallDictt *dict);
1008 typedef ssize_t (*binarySearchArraycSmallArrayFt) (smallArrayt *self, char **array);
1009 typedef ssize_t (*binarySearchCArraycSmallArrayFt) (smallArrayt *self, const char **array);
1014 typedef ssize_t (*binarySearchSmallJsonSmallArrayFt) (smallArrayt *self, smallJsont *string);
1017 
1028 typedef smallArrayt* (*uniqSmallArrayFt) (smallArrayt *self);
1029 
1038 typedef bool (*icHasSmallArrayFt) (smallArrayt *self, baset *value);
1039 typedef bool (*icHasSSmallArrayFt) (smallArrayt *self, const char *string);
1040 typedef bool (*icHasCharSmallArrayFt) (smallArrayt *self, char c);
1041 typedef bool (*icHasDictSmallArrayFt) (smallArrayt *self, smallDictt *dict);
1043 typedef bool (*icHasArraycSmallArrayFt) (smallArrayt *self, char **array);
1044 typedef bool (*icHasCArraycSmallArrayFt) (smallArrayt *self, const char **array);
1045 typedef bool (*icHasSmallJsonSmallArrayFt) (smallArrayt *self, smallJsont *string);
1047 
1058 typedef ssize_t (*icIndexOfSmallArrayFt) (smallArrayt *self, baset *value);
1059 typedef ssize_t (*icIndexOfSSmallArrayFt) (smallArrayt *self, const char *string);
1060 typedef ssize_t (*icIndexOfCharSmallArrayFt) (smallArrayt *self, char c);
1061 typedef ssize_t (*icIndexOfDictSmallArrayFt) (smallArrayt *self, smallDictt *dict);
1063 typedef ssize_t (*icIndexOfArraycSmallArrayFt) (smallArrayt *self, char **array);
1064 typedef ssize_t (*icIndexOfCArraycSmallArrayFt) (smallArrayt *self, const char **array);
1065 typedef ssize_t (*icIndexOfSmallJsonSmallArrayFt) (smallArrayt *self, smallJsont *string);
1066 typedef ssize_t (*icIndexOfSmallStringSmallArrayFt)(smallArrayt *self, smallStringt *string);
1067 
1078 typedef ssize_t (*icBinarySearchSmallArrayFt) (smallArrayt *self, baset *value);
1079 typedef ssize_t (*icBinarySearchSSmallArrayFt) (smallArrayt *self, const char *string);
1080 typedef ssize_t (*icBinarySearchCharSmallArrayFt) (smallArrayt *self, char c);
1081 typedef ssize_t (*icBinarySearchDictSmallArrayFt) (smallArrayt *self, smallDictt *dict);
1083 typedef ssize_t (*icBinarySearchArraycSmallArrayFt) (smallArrayt *self, char **array);
1084 typedef ssize_t (*icBinarySearchCArraycSmallArrayFt) (smallArrayt *self, const char **array);
1085 typedef ssize_t (*icBinarySearchSmallJsonSmallArrayFt) (smallArrayt *self, smallJsont *string);
1087 
1098 typedef smallArrayt* (*icUniqSmallArrayFt) (smallArrayt *self);
1099 
1109 typedef smallArrayt* (*compactSmallArrayFt) (smallArrayt *self);
1110 
1114 typedef smallArrayt* (*emptySmallArrayFt) (smallArrayt *self);
1115 
1121 typedef bool (*isEmptySmallArrayFt) (smallArrayt *self);
1122 
1128 typedef bool (*isBlankSmallArrayFt) (smallArrayt *self);
1129 
1144 typedef bool (*forEachElementSmallArrayFt) (void *closure, baset *element);
1145 
1154 typedef void (*forEachSmallArrayFt) (smallArrayt *self, void *closure, forEachElementSmallArrayFt funcElem);
1155 
1170 typedef bool (*enumerateElementSmallArrayFt) (void *closure, size_t index, baset *element);
1171 
1180 typedef void (*enumerateSmallArrayFt) (smallArrayt *self, void *closure, enumerateElementSmallArrayFt funcElem);
1181 
1182 
1196 typedef baset* (*iterStartSmallArrayFt) (smallArrayt *self);
1197 typedef baset* (*iterStartLastSmallArrayFt) (smallArrayt *self);
1198 typedef baset* (*iterStartFromSmallArrayFt) (smallArrayt *self, int64_t index);
1199 typedef baset* (*iterStartFromStepSmallArrayFt) (smallArrayt *self, int64_t index, int64_t step);
1200 typedef baset* (*iterNextSmallArrayFt) (smallArrayt *self);
1201 typedef baset* (*iterElementSmallArrayFt) (smallArrayt *self);
1202 typedef ssize_t (*iterIndexSmallArrayFt) (smallArrayt *self);
1203 typedef int64_t (*iterStepSmallArrayFt) (smallArrayt *self);
1204 
1214 typedef smallStringt* (*joinSmallArrayFt) (smallArrayt *self, const char* delim);
1215 typedef smallStringt* (*joinCharSmallArrayFt) (smallArrayt *self, char c);
1216 typedef smallStringt* (*joinSmallJsonSmallArrayFt) (smallArrayt *self, smallJsont* delim);
1217 typedef smallStringt* (*joinSmallStringSmallArrayFt)(smallArrayt *self, smallStringt* delim);
1218 
1228 typedef char* (*joinSSmallArrayFt) (smallArrayt *self, const char* delim);
1229 typedef char* (*joinCharSSmallArrayFt) (smallArrayt *self, char c);
1230 typedef char* (*joinSmallJsonSSmallArrayFt) (smallArrayt *self, smallJsont* delim);
1231 typedef char* (*joinSmallStringSSmallArrayFt)(smallArrayt *self, smallStringt* delim);
1232 
1241 typedef smallArrayt* (*zipSmallArrayFt) (smallArrayt *self, smallArrayt *array1, smallArrayt *array2);
1242 typedef smallArrayt* (*zipSmallJsonSmallArrayFt) (smallArrayt *self, smallArrayt *array1, smallJsont *array2);
1243 typedef smallArrayt* (*zipSmallJsonSmallArraySmallArrayFt)(smallArrayt *self, smallJsont *array1, smallArrayt *array2);
1244 typedef smallArrayt* (*zipSmallJsonSmallJsonSmallArrayFt) (smallArrayt *self, smallJsont *array1, smallJsont *array2);
1245 typedef smallArrayt* (*zipSmallJsonCharSmallArrayFt) (smallArrayt *self, smallJsont *array1, char **array2);
1246 typedef smallArrayt* (*zipSmallJsonCCharSmallArrayFt) (smallArrayt *self, smallJsont *array1, const char **array2);
1247 typedef smallArrayt* (*zipArraySmallArrayFt) (smallArrayt *self, char** array1, smallArrayt *array2);
1248 typedef smallArrayt* (*zipCArraySmallArrayFt) (smallArrayt *self, const char** array1, smallArrayt *array2);
1249 typedef smallArrayt* (*zipArraySmallJsonSmallArrayFt) (smallArrayt *self, char** array1, smallJsont *array2);
1250 typedef smallArrayt* (*zipCArraySmallJsonSmallArrayFt) (smallArrayt *self, const char** array1, smallJsont *array2);
1251 typedef smallArrayt* (*zipCharSmallArrayFt) (smallArrayt *self, smallArrayt *array1, char** array2);
1252 typedef smallArrayt* (*zipCCharSmallArrayFt) (smallArrayt *self, smallArrayt *array1, const char** array2);
1253 typedef smallArrayt* (*zipArrayCharSmallArrayFt) (smallArrayt *self, char** array1, char** array2);
1254 typedef smallArrayt* (*zipCArrayCharSmallArrayFt) (smallArrayt *self, const char** array1, char** array2);
1255 typedef smallArrayt* (*zipArrayCCharSmallArrayFt) (smallArrayt *self, char** array1, const char** array2);
1256 typedef smallArrayt* (*zipCArrayCCharSmallArrayFt) (smallArrayt *self, const char** array1, const char** array2);
1257 
1267 typedef void (*logSmallArrayFt) (smallArrayt *self);
1268 
1280 typedef smallArrayt* (*readTextSmallArrayFt) (smallArrayt *self, const char *filePath);
1281 typedef smallArrayt* (*readTextSmallJsonSmallArrayFt) (smallArrayt *self, smallJsont *filePath);
1282 typedef smallArrayt* (*readTextSmallStringSmallArrayFt)(smallArrayt *self, smallStringt *filePath);
1283 
1295 typedef smallArrayt* (*readStreamSmallArrayFt) (smallArrayt *self, FILE *fp);
1296 
1306 typedef bool (*writeTextSmallArrayFt) (smallArrayt *self, const char *filePath);
1307 typedef bool (*writeTextSmallJsonSmallArrayFt) (smallArrayt *self, smallJsont *filePath);
1309 
1320 typedef bool (*writeStreamSmallArrayFt) (smallArrayt *self, FILE *fp);
1321 
1332 typedef bool (*appendTextSmallArrayFt) (smallArrayt *self, const char *filePath);
1334 
1343 typedef const char* (*typeStringSmallArrayFt) (smallArrayt *self, int64_t index);
1344 typedef smallStringt* (*typeSmallStringSmallArrayFt)(smallArrayt *self, int64_t index);
1345 
1354 typedef char (*typeSmallArrayFt) (smallArrayt *self, int64_t index);
1355 
1362 typedef const char** (*typeStringsSmallArrayFt)(smallArrayt *self);
1363 typedef smallArrayt* (*typeSmallStringsSmallArrayFt)(smallArrayt *self);
1364 
1371 typedef smallBytest* (*typesSmallArrayFt) (smallArrayt *self);
1372 
1376 typedef bool (*isETypeSmallArrayFt) (smallArrayt *self, int64_t index, const char *type);
1377 typedef bool (*isEUndefinedSmallArrayFt) (smallArrayt *self, int64_t index);
1378 typedef bool (*isEBoolSmallArrayFt) (smallArrayt *self, int64_t index);
1379 typedef bool (*isEContainerSmallArrayFt) (smallArrayt *self, int64_t index);
1380 typedef bool (*isEDictSmallArrayFt) (smallArrayt *self, int64_t index);
1381 typedef bool (*isEDoubleSmallArrayFt) (smallArrayt *self, int64_t index);
1382 typedef bool (*isEIntSmallArrayFt) (smallArrayt *self, int64_t index);
1383 typedef bool (*isEStringSmallArrayFt) (smallArrayt *self, int64_t index);
1384 typedef bool (*isEFaststringSmallArrayFt)(smallArrayt *self, int64_t index);
1385 typedef bool (*isEArraySmallArrayFt) (smallArrayt *self, int64_t index);
1386 typedef bool (*isEBytesSmallArrayFt) (smallArrayt *self, int64_t index);
1387 
1391 typedef bool (*areAllETypeSmallArrayFt) (smallArrayt *self, const char *type);
1393 typedef bool (*areAllEBoolSmallArrayFt) (smallArrayt *self);
1395 typedef bool (*areAllEDictSmallArrayFt) (smallArrayt *self);
1396 typedef bool (*areAllEDoubleSmallArrayFt) (smallArrayt *self);
1397 typedef bool (*areAllEIntSmallArrayFt) (smallArrayt *self);
1398 typedef bool (*areAllEStringSmallArrayFt) (smallArrayt *self);
1400 typedef bool (*areAllEArraySmallArrayFt) (smallArrayt *self);
1401 typedef bool (*areAllEBytesSmallArrayFt) (smallArrayt *self);
1402 
1418 #define SMALLARRAYFUNCTIONST \
1419  escapeSmallArrayFt escape;\
1420  disposeSmallArrayFt dispose;\
1421  helpSmallArrayFt help;\
1422  resetSmallArrayFt reset;\
1423  getsoSmallArrayFt getso;\
1424  setsoSmallArrayFt setso;\
1425  mirrorSmallArrayFt mirror;\
1426  getAtSmallArrayFt get;\
1427  getAtNDupSmallArrayFt getNDup;\
1428  setAtSmallArrayFt set;\
1429  fromArraySmallArrayFt fromArray;\
1430  fromCArraySmallArrayFt fromCArray;\
1431  fromArrayNFreeSmallArrayFt fromArrayNFree;\
1432  pushSmallArrayFt push;\
1433  pushUndefinedSmallArrayFt pushUndefined;\
1434  pushBoolSmallArrayFt pushBool;\
1435  pushDoubleSmallArrayFt pushDouble;\
1436  pushIntSmallArrayFt pushInt;\
1437  pushSSmallArrayFt pushS;\
1438  pushCharSmallArrayFt pushChar;\
1439  pushDictSmallArrayFt pushDict;\
1440  pushArraySmallArrayFt pushArray;\
1441  pushArraycSmallArrayFt pushArrayc;\
1442  pushCArraycSmallArrayFt pushCArrayc;\
1443  pushSmallBoolSmallArrayFt pushSmallBool;\
1444  pushSmallBytesSmallArrayFt pushSmallBytes;\
1445  pushSmallDoubleSmallArrayFt pushSmallDouble;\
1446  pushSmallIntSmallArrayFt pushSmallInt;\
1447  pushSmallJsonSmallArrayFt pushSmallJson;\
1448  pushSmallStringSmallArrayFt pushSmallString;\
1449  pushSmallContainerSmallArrayFt pushSmallContainer;\
1450  pushNFreeSmallArrayFt pushNFree;\
1451  pushNFreeUndefinedSmallArrayFt pushNFreeUndefined;\
1452  pushNFreeSSmallArrayFt pushNFreeS;\
1453  pushNFreeDictSmallArrayFt pushNFreeDict;\
1454  pushNFreeArraySmallArrayFt pushNFreeArray;\
1455  pushNFreeArraycSmallArrayFt pushNFreeArrayc;\
1456  pushNFreeSmallBoolSmallArrayFt pushNFreeSmallBool;\
1457  pushNFreeSmallBytesSmallArrayFt pushNFreeSmallBytes;\
1458  pushNFreeSmallDoubleSmallArrayFt pushNFreeSmallDouble;\
1459  pushNFreeSmallIntSmallArrayFt pushNFreeSmallInt;\
1460  pushNFreeSmallJsonSmallArrayFt pushNFreeSmallJson;\
1461  pushNFreeSmallStringSmallArrayFt pushNFreeSmallString;\
1462  pushNFreeSmallContainerSmallArrayFt pushNFreeSmallContainer;\
1463  pushManySmallArrayFt pushMany;\
1464  pushManySSmallArrayFt pushManyS;\
1465  pushNFreeManySmallArrayFt pushNFreeMany;\
1466  pushNFreeManySSmallArrayFt pushNFreeManyS;\
1467  popSmallArrayFt pop;\
1468  popUndefinedSmallArrayFt popUndefined;\
1469  popBoolSmallArrayFt popBool;\
1470  popDoubleSmallArrayFt popDouble;\
1471  popIntSmallArrayFt popInt;\
1472  popInt32SmallArrayFt popInt32;\
1473  popUintSmallArrayFt popUint;\
1474  popUint32SmallArrayFt popUint32;\
1475  popSSmallArrayFt popS;\
1476  popDictSmallArrayFt popDict;\
1477  popArraySmallArrayFt popArray;\
1478  popSmallBoolSmallArrayFt popSmallBool;\
1479  popSmallBytesSmallArrayFt popSmallBytes;\
1480  popSmallDoubleSmallArrayFt popSmallDouble;\
1481  popSmallIntSmallArrayFt popSmallInt;\
1482  popSmallJsonSmallArrayFt popSmallJson;\
1483  popSmallStringSmallArrayFt popSmallString;\
1484  popVoidSmallArrayFt popVoid;\
1485  popSmallContainerSmallArrayFt popSmallContainer;\
1486  popNumSmallArrayFt popNum;\
1487  prependSmallArrayFt prepend;\
1488  prependUndefinedSmallArrayFt prependUndefined;\
1489  prependBoolSmallArrayFt prependBool;\
1490  prependDoubleSmallArrayFt prependDouble;\
1491  prependIntSmallArrayFt prependInt;\
1492  prependSSmallArrayFt prependS;\
1493  prependCharSmallArrayFt prependChar;\
1494  prependDictSmallArrayFt prependDict;\
1495  prependArraySmallArrayFt prependArray;\
1496  prependArraycSmallArrayFt prependArrayc;\
1497  prependCArraycSmallArrayFt prependCArrayc;\
1498  prependSmallBoolSmallArrayFt prependSmallBool;\
1499  prependSmallBytesSmallArrayFt prependSmallBytes;\
1500  prependSmallDoubleSmallArrayFt prependSmallDouble;\
1501  prependSmallIntSmallArrayFt prependSmallInt;\
1502  prependSmallJsonSmallArrayFt prependSmallJson;\
1503  prependSmallStringSmallArrayFt prependSmallString;\
1504  prependSmallContainerSmallArrayFt prependSmallContainer;\
1505  prependNFreeSmallArrayFt prependNFree;\
1506  prependNFreeUndefinedSmallArrayFt prependNFreeUndefined;\
1507  prependNFreeSSmallArrayFt prependNFreeS;\
1508  prependNFreeDictSmallArrayFt prependNFreeDict;\
1509  prependNFreeArraySmallArrayFt prependNFreeArray;\
1510  prependNFreeArraycSmallArrayFt prependNFreeArrayc;\
1511  prependNFreeSmallBoolSmallArrayFt prependNFreeSmallBool;\
1512  prependNFreeSmallBytesSmallArrayFt prependNFreeSmallBytes;\
1513  prependNFreeSmallDoubleSmallArrayFt prependNFreeSmallDouble;\
1514  prependNFreeSmallIntSmallArrayFt prependNFreeSmallInt;\
1515  prependNFreeSmallJsonSmallArrayFt prependNFreeSmallJson;\
1516  prependNFreeSmallStringSmallArrayFt prependNFreeSmallString;\
1517  prependNFreeSmallContainerSmallArrayFt prependNFreeSmallContainer;\
1518  dequeueSmallArrayFt dequeue;\
1519  dequeueUndefinedSmallArrayFt dequeueUndefined;\
1520  dequeueBoolSmallArrayFt dequeueBool;\
1521  dequeueDoubleSmallArrayFt dequeueDouble;\
1522  dequeueIntSmallArrayFt dequeueInt;\
1523  dequeueInt32SmallArrayFt dequeueInt32;\
1524  dequeueUintSmallArrayFt dequeueUint;\
1525  dequeueUint32SmallArrayFt dequeueUint32;\
1526  dequeueSSmallArrayFt dequeueS;\
1527  dequeueDictSmallArrayFt dequeueDict;\
1528  dequeueArraySmallArrayFt dequeueArray;\
1529  dequeueSmallBoolSmallArrayFt dequeueSmallBool;\
1530  dequeueSmallBytesSmallArrayFt dequeueSmallBytes;\
1531  dequeueSmallDoubleSmallArrayFt dequeueSmallDouble;\
1532  dequeueSmallIntSmallArrayFt dequeueSmallInt;\
1533  dequeueSmallJsonSmallArrayFt dequeueSmallJson;\
1534  dequeueSmallStringSmallArrayFt dequeueSmallString;\
1535  dequeueVoidSmallArrayFt dequeueVoid;\
1536  dequeueSmallContainerSmallArrayFt dequeueSmallContainer;\
1537  dequeueNumSmallArrayFt dequeueNum;\
1538  reverseSmallArrayFt reverse;\
1539  catSmallArrayFt cat;\
1540  appendSmallArrayFt append;\
1541  appendSmallJsonSmallArrayFt appendSmallJson;\
1542  appendNSmashSmallArrayFt appendNSmash;\
1543  appendNSmashSmallJsonSmallArrayFt appendNSmashSmallJson;\
1544  appendArraySmallArrayFt appendArray;\
1545  appendCArraySmallArrayFt appendCArray;\
1546  appendNSmashArraySmallArrayFt appendNSmashArray;\
1547  shiftSmallArrayFt shift;\
1548  shiftSmallJsonSmallArrayFt shiftSmallJson;\
1549  shiftNSmashSmallArrayFt shiftNSmash;\
1550  shiftNSmashSmallJsonSmallArrayFt shiftNSmashSmallJson;\
1551  addSmallArrayFt add;\
1552  sliceSmallArrayFt slice;\
1553  cropSmallArrayFt crop;\
1554  cropElemSmallArrayFt cropElem;\
1555  cropElemUndefinedSmallArrayFt cropElemUndefined;\
1556  cropElemBoolSmallArrayFt cropElemBool;\
1557  cropElemDoubleSmallArrayFt cropElemDouble;\
1558  cropElemIntSmallArrayFt cropElemInt;\
1559  cropElemInt32SmallArrayFt cropElemInt32;\
1560  cropElemUintSmallArrayFt cropElemUint;\
1561  cropElemUint32SmallArrayFt cropElemUint32;\
1562  cropElemSSmallArrayFt cropElemS;\
1563  cropElemDictSmallArrayFt cropElemDict;\
1564  cropElemArraySmallArrayFt cropElemArray;\
1565  cropElemSmallBoolSmallArrayFt cropElemSmallBool;\
1566  cropElemSmallBytesSmallArrayFt cropElemSmallBytes;\
1567  cropElemSmallDoubleSmallArrayFt cropElemSmallDouble;\
1568  cropElemSmallIntSmallArrayFt cropElemSmallInt;\
1569  cropElemSmallJsonSmallArrayFt cropElemSmallJson;\
1570  cropElemSmallStringSmallArrayFt cropElemSmallString;\
1571  cropElemVoidSmallArrayFt cropElemVoid;\
1572  cropElemSmallContainerSmallArrayFt cropElemSmallContainer;\
1573  copySmallArrayFt copy;\
1574  insertSmallArrayFt insert;\
1575  insertSmallJsonSmallArrayFt insertSmallJson;\
1576  insertNSmashSmallArrayFt insertNSmash;\
1577  insertNSmashSmallJsonSmallArrayFt insertNSmashSmallJson;\
1578  injectSmallArrayFt inject;\
1579  injectUndefinedSmallArrayFt injectUndefined;\
1580  injectBoolSmallArrayFt injectBool;\
1581  injectDoubleSmallArrayFt injectDouble;\
1582  injectIntSmallArrayFt injectInt;\
1583  injectSSmallArrayFt injectS;\
1584  injectCharSmallArrayFt injectChar;\
1585  injectDictSmallArrayFt injectDict;\
1586  injectArraySmallArrayFt injectArray;\
1587  injectArraycSmallArrayFt injectArrayc;\
1588  injectCArraycSmallArrayFt injectCArrayc;\
1589  injectSmallBoolSmallArrayFt injectSmallBool;\
1590  injectSmallBytesSmallArrayFt injectSmallBytes;\
1591  injectSmallDoubleSmallArrayFt injectSmallDouble;\
1592  injectSmallIntSmallArrayFt injectSmallInt;\
1593  injectSmallJsonSmallArrayFt injectSmallJson;\
1594  injectSmallStringSmallArrayFt injectSmallString;\
1595  injectSmallContainerSmallArrayFt injectSmallContainer;\
1596  injectNFreeSmallArrayFt injectNFree;\
1597  injectNFreeUndefinedSmallArrayFt injectNFreeUndefined;\
1598  injectNFreeSSmallArrayFt injectNFreeS;\
1599  injectNFreeDictSmallArrayFt injectNFreeDict;\
1600  injectNFreeArraySmallArrayFt injectNFreeArray;\
1601  injectNFreeArraycSmallArrayFt injectNFreeArrayc;\
1602  injectNFreeSmallBoolSmallArrayFt injectNFreeSmallBool;\
1603  injectNFreeSmallBytesSmallArrayFt injectNFreeSmallBytes;\
1604  injectNFreeSmallDoubleSmallArrayFt injectNFreeSmallDouble;\
1605  injectNFreeSmallIntSmallArrayFt injectNFreeSmallInt;\
1606  injectNFreeSmallJsonSmallArrayFt injectNFreeSmallJson;\
1607  injectNFreeSmallStringSmallArrayFt injectNFreeSmallString;\
1608  injectNFreeSmallContainerSmallArrayFt injectNFreeSmallContainer;\
1609  delSmallArrayFt del;\
1610  delElemSmallArrayFt delElem;\
1611  removeSmallArrayFt remove;\
1612  removeElemSmallArrayFt removeElem;\
1613  sortSmallArrayFt sort;\
1614  sortFSmallArrayFt sortF;\
1615  icSortSmallArrayFt icSort;\
1616  equalSmallArrayFt equal;\
1617  equalSmallArraySmallJsonFt equalSmallJson;\
1618  equalSmallArrayArrayFt equalArray;\
1619  equalSmallArrayCArrayFt equalCArray;\
1620  equalSmallArrayBaseFt equalBase;\
1621  icEqualSmallArrayFt icEqual;\
1622  icEqualSmallArraySmallJsonFt icEqualSmallJson;\
1623  icEqualSmallArrayArrayFt icEqualArray;\
1624  icEqualSmallArrayCArrayFt icEqualCArray;\
1625  icEqualSmallArrayBaseFt icEqualBase;\
1626  lenSmallArrayFt len;\
1627  trimSmallArrayFt trim;\
1628  getAtSmallArrayFt getAt;\
1629  getAtUndefinedSmallArrayFt getAtUndefined;\
1630  getAtBoolSmallArrayFt getAtBool;\
1631  getAtBoolPSmallArrayFt getAtBoolP;\
1632  getAtDoubleSmallArrayFt getAtDouble;\
1633  getAtDoublePSmallArrayFt getAtDoubleP;\
1634  getAtIntSmallArrayFt getAtInt;\
1635  getAtIntPSmallArrayFt getAtIntP;\
1636  getAtInt32SmallArrayFt getAtInt32;\
1637  getAtInt32PSmallArrayFt getAtInt32P;\
1638  getAtUintSmallArrayFt getAtUint;\
1639  getAtUintPSmallArrayFt getAtUintP;\
1640  getAtUint32SmallArrayFt getAtUint32;\
1641  getAtUint32PSmallArrayFt getAtUint32P;\
1642  getAtSSmallArrayFt getAtS;\
1643  getAtDictSmallArrayFt getAtDict;\
1644  getAtArraySmallArrayFt getAtArray;\
1645  getAtSmallBoolSmallArrayFt getAtSmallBool;\
1646  getAtSmallBytesSmallArrayFt getAtSmallBytes;\
1647  getAtSmallDoubleSmallArrayFt getAtSmallDouble;\
1648  getAtSmallIntSmallArrayFt getAtSmallInt;\
1649  getAtSmallJsonSmallArrayFt getAtSmallJson;\
1650  getAtSmallStringSmallArrayFt getAtSmallString;\
1651  getAtVoidSmallArrayFt getAtVoid;\
1652  getAtSmallContainerSmallArrayFt getAtSmallContainer;\
1653  getAtNDupSmallArrayFt getAtNDup;\
1654  getAtNDupUndefinedSmallArrayFt getAtNDupUndefined;\
1655  getAtNDupBoolSmallArrayFt getAtNDupBool;\
1656  getAtNDupDoubleSmallArrayFt getAtNDupDouble;\
1657  getAtNDupIntSmallArrayFt getAtNDupInt;\
1658  getAtNDupInt32SmallArrayFt getAtNDupInt32;\
1659  getAtNDupUintSmallArrayFt getAtNDupUint;\
1660  getAtNDupUint32SmallArrayFt getAtNDupUint32;\
1661  getAtNDupSSmallArrayFt getAtNDupS;\
1662  getAtNDupDictSmallArrayFt getAtNDupDict;\
1663  getAtNDupArraySmallArrayFt getAtNDupArray;\
1664  getAtNDupSmallBoolSmallArrayFt getAtNDupSmallBool;\
1665  getAtNDupSmallBytesSmallArrayFt getAtNDupSmallBytes;\
1666  getAtNDupSmallDoubleSmallArrayFt getAtNDupSmallDouble;\
1667  getAtNDupSmallIntSmallArrayFt getAtNDupSmallInt;\
1668  getAtNDupSmallJsonSmallArrayFt getAtNDupSmallJson;\
1669  getAtNDupSmallStringSmallArrayFt getAtNDupSmallString;\
1670  getAtNDupVoidSmallArrayFt getAtNDupVoid;\
1671  getAtNDupSmallContainerSmallArrayFt getAtNDupSmallContainer;\
1672  setAtSmallArrayFt setAt;\
1673  setAtUndefinedSmallArrayFt setAtUndefined;\
1674  setAtBoolSmallArrayFt setAtBool;\
1675  setAtDoubleSmallArrayFt setAtDouble;\
1676  setAtIntSmallArrayFt setAtInt;\
1677  setAtSSmallArrayFt setAtS;\
1678  setAtCharSmallArrayFt setAtChar;\
1679  setAtDictSmallArrayFt setAtDict;\
1680  setAtArraySmallArrayFt setAtArray;\
1681  setAtArraycSmallArrayFt setAtArrayc;\
1682  setAtCArraycSmallArrayFt setAtCArrayc;\
1683  setAtSmallBoolSmallArrayFt setAtSmallBool;\
1684  setAtSmallBytesSmallArrayFt setAtSmallBytes;\
1685  setAtSmallDoubleSmallArrayFt setAtSmallDouble;\
1686  setAtSmallIntSmallArrayFt setAtSmallInt;\
1687  setAtSmallJsonSmallArrayFt setAtSmallJson;\
1688  setAtSmallStringSmallArrayFt setAtSmallString;\
1689  setAtSmallContainerSmallArrayFt setAtSmallContainer;\
1690  setAtNFreeSmallArrayFt setAtNFree;\
1691  setAtNFreeUndefinedSmallArrayFt setAtNFreeUndefined;\
1692  setAtNFreeSSmallArrayFt setAtNFreeS;\
1693  setAtNFreeDictSmallArrayFt setAtNFreeDict;\
1694  setAtNFreeArraySmallArrayFt setAtNFreeArray;\
1695  setAtNFreeArraycSmallArrayFt setAtNFreeArrayc;\
1696  setAtNFreeSmallBoolSmallArrayFt setAtNFreeSmallBool;\
1697  setAtNFreeSmallBytesSmallArrayFt setAtNFreeSmallBytes;\
1698  setAtNFreeSmallDoubleSmallArrayFt setAtNFreeSmallDouble;\
1699  setAtNFreeSmallIntSmallArrayFt setAtNFreeSmallInt;\
1700  setAtNFreeSmallJsonSmallArrayFt setAtNFreeSmallJson;\
1701  setAtNFreeSmallStringSmallArrayFt setAtNFreeSmallString;\
1702  setAtNFreeSmallContainerSmallArrayFt setAtNFreeSmallContainer;\
1703  setPAtArraySmallArrayFt setPAtArray;\
1704  setPAtDictSmallArrayFt setPAtDict;\
1705  setPAtSmallJsonSmallArrayFt setPAtSmallJson;\
1706  setPAtSmallStringSmallArrayFt setPAtSmallString;\
1707  setPAtNFreeArraySmallArrayFt setPAtNFreeArray;\
1708  setPAtNFreeDictSmallArrayFt setPAtNFreeDict;\
1709  setPAtNFreeSmallJsonSmallArrayFt setPAtNFreeSmallJson;\
1710  setPAtNFreeSmallStringSmallArrayFt setPAtNFreeSmallString;\
1711  getNumSmallArrayFt getNum;\
1712  hasSmallArrayFt has;\
1713  hasUndefinedSmallArrayFt hasUndefined;\
1714  hasBoolSmallArrayFt hasBool;\
1715  hasDoubleSmallArrayFt hasDouble;\
1716  hasIntSmallArrayFt hasInt;\
1717  hasSSmallArrayFt hasS;\
1718  hasCharSmallArrayFt hasChar;\
1719  hasDictSmallArrayFt hasDict;\
1720  hasArraySmallArrayFt hasArray;\
1721  hasArraycSmallArrayFt hasArrayc;\
1722  hasCArraycSmallArrayFt hasCArrayc;\
1723  hasSmallBoolSmallArrayFt hasSmallBool;\
1724  hasSmallBytesSmallArrayFt hasSmallBytes;\
1725  hasSmallDoubleSmallArrayFt hasSmallDouble;\
1726  hasSmallIntSmallArrayFt hasSmallInt;\
1727  hasSmallJsonSmallArrayFt hasSmallJson;\
1728  hasSmallStringSmallArrayFt hasSmallString;\
1729  hasSmallContainerSmallArrayFt hasSmallContainer;\
1730  indexOfSmallArrayFt indexOf;\
1731  indexOfUndefinedSmallArrayFt indexOfUndefined;\
1732  indexOfBoolSmallArrayFt indexOfBool;\
1733  indexOfDoubleSmallArrayFt indexOfDouble;\
1734  indexOfIntSmallArrayFt indexOfInt;\
1735  indexOfSSmallArrayFt indexOfS;\
1736  indexOfCharSmallArrayFt indexOfChar;\
1737  indexOfDictSmallArrayFt indexOfDict;\
1738  indexOfArraySmallArrayFt indexOfArray;\
1739  indexOfArraycSmallArrayFt indexOfArrayc;\
1740  indexOfCArraycSmallArrayFt indexOfCArrayc;\
1741  indexOfSmallBoolSmallArrayFt indexOfSmallBool;\
1742  indexOfSmallBytesSmallArrayFt indexOfSmallBytes;\
1743  indexOfSmallDoubleSmallArrayFt indexOfSmallDouble;\
1744  indexOfSmallIntSmallArrayFt indexOfSmallInt;\
1745  indexOfSmallJsonSmallArrayFt indexOfSmallJson;\
1746  indexOfSmallStringSmallArrayFt indexOfSmallString;\
1747  indexOfSmallContainerSmallArrayFt indexOfSmallContainer;\
1748  binarySearchSmallArrayFt binarySearch;\
1749  binarySearchUndefinedSmallArrayFt binarySearchUndefined;\
1750  binarySearchBoolSmallArrayFt binarySearchBool;\
1751  binarySearchDoubleSmallArrayFt binarySearchDouble;\
1752  binarySearchIntSmallArrayFt binarySearchInt;\
1753  binarySearchSSmallArrayFt binarySearchS;\
1754  binarySearchCharSmallArrayFt binarySearchChar;\
1755  binarySearchDictSmallArrayFt binarySearchDict;\
1756  binarySearchArraySmallArrayFt binarySearchArray;\
1757  binarySearchArraycSmallArrayFt binarySearchArrayc;\
1758  binarySearchCArraycSmallArrayFt binarySearchCArrayc;\
1759  binarySearchSmallBoolSmallArrayFt binarySearchSmallBool;\
1760  binarySearchSmallBytesSmallArrayFt binarySearchSmallBytes;\
1761  binarySearchSmallDoubleSmallArrayFt binarySearchSmallDouble;\
1762  binarySearchSmallIntSmallArrayFt binarySearchSmallInt;\
1763  binarySearchSmallJsonSmallArrayFt binarySearchSmallJson;\
1764  binarySearchSmallStringSmallArrayFt binarySearchSmallString;\
1765  binarySearchSmallContainerSmallArrayFt binarySearchSmallContainer;\
1766  uniqSmallArrayFt uniq;\
1767  icHasSmallArrayFt icHas;\
1768  icHasSSmallArrayFt icHasS;\
1769  icHasCharSmallArrayFt icHasChar;\
1770  icHasDictSmallArrayFt icHasDict;\
1771  icHasArraySmallArrayFt icHasArray;\
1772  icHasArraycSmallArrayFt icHasArrayc;\
1773  icHasCArraycSmallArrayFt icHasCArrayc;\
1774  icHasSmallJsonSmallArrayFt icHasSmallJson;\
1775  icHasSmallStringSmallArrayFt icHasSmallString;\
1776  icIndexOfSmallArrayFt icIndexOf;\
1777  icIndexOfSSmallArrayFt icIndexOfS;\
1778  icIndexOfCharSmallArrayFt icIndexOfChar;\
1779  icIndexOfDictSmallArrayFt icIndexOfDict;\
1780  icIndexOfArraySmallArrayFt icIndexOfArray;\
1781  icIndexOfArraycSmallArrayFt icIndexOfArrayc;\
1782  icIndexOfCArraycSmallArrayFt icIndexOfCArrayc;\
1783  icIndexOfSmallJsonSmallArrayFt icIndexOfSmallJson;\
1784  icIndexOfSmallStringSmallArrayFt icIndexOfSmallString;\
1785  icBinarySearchSmallArrayFt icBinarySearch;\
1786  icBinarySearchSSmallArrayFt icBinarySearchS;\
1787  icBinarySearchCharSmallArrayFt icBinarySearchChar;\
1788  icBinarySearchDictSmallArrayFt icBinarySearchDict;\
1789  icBinarySearchArraySmallArrayFt icBinarySearchArray;\
1790  icBinarySearchArraycSmallArrayFt icBinarySearchArrayc;\
1791  icBinarySearchCArraycSmallArrayFt icBinarySearchCArrayc;\
1792  icBinarySearchSmallJsonSmallArrayFt icBinarySearchSmallJson;\
1793  icBinarySearchSmallStringSmallArrayFt icBinarySearchSmallString;\
1794  icUniqSmallArrayFt icUniq;\
1795  compactSmallArrayFt compact;\
1796  emptySmallArrayFt empty;\
1797  isEmptySmallArrayFt isEmpty;\
1798  isBlankSmallArrayFt isBlank;\
1799  forEachSmallArrayFt forEach;\
1800  enumerateSmallArrayFt enumerate;\
1801  iterStartSmallArrayFt iterStart;\
1802  iterStartLastSmallArrayFt iterStartLast;\
1803  iterStartFromSmallArrayFt iterStartFrom;\
1804  iterStartFromStepSmallArrayFt iterStartFromStep;\
1805  iterNextSmallArrayFt iterNext;\
1806  iterElementSmallArrayFt iterElement;\
1807  iterIndexSmallArrayFt iterIndex;\
1808  iterStepSmallArrayFt iterStep;\
1809  joinSmallArrayFt join;\
1810  joinCharSmallArrayFt joinChar;\
1811  joinSmallJsonSmallArrayFt joinSmallJson;\
1812  joinSmallStringSmallArrayFt joinSmallString;\
1813  joinSSmallArrayFt joinS;\
1814  joinCharSSmallArrayFt joinCharS;\
1815  joinSmallJsonSSmallArrayFt joinSmallJsonS;\
1816  joinSmallStringSSmallArrayFt joinSmallStringS;\
1817  zipSmallArrayFt zip;\
1818  zipSmallJsonSmallArrayFt zipSmallJson;\
1819  zipSmallJsonSmallArraySmallArrayFt zipSmallJsonSmallArray;\
1820  zipSmallJsonSmallJsonSmallArrayFt zipSmallJsonSmallJson;\
1821  zipSmallJsonCharSmallArrayFt zipSmallJsonChar;\
1822  zipSmallJsonCCharSmallArrayFt zipSmallJsonCChar;\
1823  zipArraySmallArrayFt zipArray;\
1824  zipCArraySmallArrayFt zipCArray;\
1825  zipArraySmallJsonSmallArrayFt zipArraySmallJson;\
1826  zipCArraySmallJsonSmallArrayFt zipCArraySmallJson;\
1827  zipCharSmallArrayFt zipChar;\
1828  zipCCharSmallArrayFt zipCChar;\
1829  zipArrayCharSmallArrayFt zipArrayChar;\
1830  zipCArrayCharSmallArrayFt zipCArrayChar;\
1831  zipArrayCCharSmallArrayFt zipArrayCChar;\
1832  zipCArrayCCharSmallArrayFt zipCArrayCChar;\
1833  logSmallArrayFt log;\
1834  readTextSmallArrayFt readText;\
1835  readTextSmallJsonSmallArrayFt readTextSmallJson;\
1836  readTextSmallStringSmallArrayFt readTextSmallString;\
1837  readStreamSmallArrayFt readStream;\
1838  writeTextSmallArrayFt writeText;\
1839  writeTextSmallJsonSmallArrayFt writeTextSmallJson;\
1840  writeTextSmallStringSmallArrayFt writeTextSmallString;\
1841  writeStreamSmallArrayFt writeStream;\
1842  appendTextSmallArrayFt appendText;\
1843  appendTextSmallStringSmallArrayFt appendTextSmallString;\
1844  typeStringSmallArrayFt typeString;\
1845  typeSmallStringSmallArrayFt typeSmallString;\
1846  typeSmallArrayFt type;\
1847  typeStringsSmallArrayFt typeStrings;\
1848  typeSmallStringsSmallArrayFt typeSmallStrings;\
1849  typesSmallArrayFt types;\
1850  isETypeSmallArrayFt isEType;\
1851  isEUndefinedSmallArrayFt isEUndefined;\
1852  isEBoolSmallArrayFt isEBool;\
1853  isEContainerSmallArrayFt isEContainer;\
1854  isEDictSmallArrayFt isEDict;\
1855  isEDoubleSmallArrayFt isEDouble;\
1856  isEIntSmallArrayFt isEInt;\
1857  isEStringSmallArrayFt isEString;\
1858  isEFaststringSmallArrayFt isEFaststring;\
1859  isEArraySmallArrayFt isEArray;\
1860  isEBytesSmallArrayFt isEBytes;\
1861  areAllETypeSmallArrayFt areAllEType;\
1862  areAllEUndefinedSmallArrayFt areAllEUndefined;\
1863  areAllEBoolSmallArrayFt areAllEBool;\
1864  areAllEContainerSmallArrayFt areAllEContainer;\
1865  areAllEDictSmallArrayFt areAllEDict;\
1866  areAllEDoubleSmallArrayFt areAllEDouble;\
1867  areAllEIntSmallArrayFt areAllEInt;\
1868  areAllEStringSmallArrayFt areAllEString;\
1869  areAllEFaststringSmallArrayFt areAllEFaststring;\
1870  areAllEArraySmallArrayFt areAllEArray;\
1871  areAllEBytesSmallArrayFt areAllEBytes
1872 
1873 
1874 
1875 
1876 
1877 
1878 typedef struct {
1885 
1888 
1892 struct smallArray {
1893  const char *type;
1895 
1896  // internal
1898  ssize_t iterIndex;
1899  int64_t iterStep;
1901  // iterElementDataType indicates what the type baset object in iterElement
1902  // if iterElement is not small* class object then finish must not be called
1903  // in the iterator
1904  // baset objects not from small* classes are stored directly in smallContainers
1905  // values: SH_DT_UNKNOWN, SH_DT_BASET
1907 };
1908 
1909 // smallArray
1910 
1911 #define createSmallArray(obj) ;smallArrayt obj; initiateSmallArray(&obj)
1912 #define createAllocateSmallArray(obj) ;smallArrayt *obj; initiateAllocateSmallArray(&obj)
1913 
1914 void initiateSmallArray(smallArrayt *self);
1916 void finalizeRecycleSmallArray(void *arg UNUSED);
1917 void finalizeSmallArray(void);
1918 
1919 // initialize class methods, call registerMethodsSmallArray from classes inheriting this class
1921 
1924 smallArrayt* allocCArraySmallArray(const char **array);
1925 
1926 // terminate smallArrayt val when it is out of scope
1928 
1929 // free smallArrayt local val when it is out of scope
1931 
1932 // free smallArrayt val when it is out of scope
1934 
1935 // finish smallArrayt val when it is out of scope
1937 
1938 // dispose smallArrayt val when it is out of scope
1940 
1941 // smash smallArrayt val when it is out of scope
1943 
1947 #define cleanSmallArrayP(name) smallArrayt *name CLEANUP(cleanUpSmallArrayTerminateG)
1948 
1952 #define cleanAllocateSmallArray(obj) ;cleanSmallArrayP(obj); initiateAllocateSmallArray(&obj)
1953 
1957 #define cleanSmallArray(name) smallArrayt name CLEANUP(cleanUpSmallArrayFreeLocalG); initiateSmallArray(&name)
1958 
1962 #define cleanFreeSmallArray(name) smallArrayt *name CLEANUP(cleanUpSmallArrayFreeG)
1963 
1967 #define cleanFinishSmallArrayP(name) smallArrayt *name CLEANUP(cleanUpSmallArrayFinishG)
1968 
1972 #define cleanDisposeSmallArray(name) smallArrayt name CLEANUP(cleanUpSmallArrayDisposeG); initiateSmallArray(&name)
1973 
1977 #define cleanSmashSmallArrayP(name) smallArrayt *name CLEANUP(cleanUpSmallArraySmashG)
1978 
1987 smallArrayt* createSAF(const char *paramType, ...);
1988 #define createSA(...) createSAF("", __VA_ARGS__, NULL)
1989 
1991 
1993 
1994 void freeSmallArrayG (smallArrayt *self);
1995 
1996 smallArrayt* fromArraySmallArrayG(smallArrayt *self, char **array, size_t size);
1997 smallArrayt* fromCArraySmallArrayG(smallArrayt *self, const char **array, size_t size);
1999 smallArrayt* setFromCSmallArrayG(smallArrayt *self, const char **array);
2000 
2006 smallArrayt* pushSSmallArrayG (smallArrayt *self, const char *string);
2011 smallArrayt* pushCArraycSmallArrayG (smallArrayt *self, const char **array);
2020 
2023 smallArrayt* pushNFreeSSmallArrayG (smallArrayt *self, char *string);
2034 
2035 baset* popSmallArrayG (smallArrayt *self, baset* retType UNUSED);
2037 bool popBoolSmallArrayG (smallArrayt *self, bool retType UNUSED);
2038 double popDoubleSmallArrayG (smallArrayt *self, double retType UNUSED);
2039 int64_t popIntSmallArrayG (smallArrayt *self, int64_t retType UNUSED);
2040 int32_t popInt32SmallArrayG (smallArrayt *self, int32_t retType UNUSED);
2041 uint64_t popUintSmallArrayG (smallArrayt *self, uint64_t retType UNUSED);
2042 uint32_t popUint32SmallArrayG (smallArrayt *self, uint32_t retType UNUSED);
2043 char* popSSmallArrayG (smallArrayt *self, char* retType UNUSED);
2052 void* popVoidSmallArrayG (smallArrayt *self, void* retType UNUSED);
2054 
2060 smallArrayt* prependSSmallArrayG (smallArrayt *self, const char *string);
2074 
2077 smallArrayt* prependNFreeSSmallArrayG (smallArrayt *self, char *string);
2088 
2089 baset* dequeueSmallArrayG (smallArrayt *self, baset* retType UNUSED);
2091 bool dequeueBoolSmallArrayG (smallArrayt *self, bool retType UNUSED);
2092 double dequeueDoubleSmallArrayG (smallArrayt *self, double retType UNUSED);
2093 int64_t dequeueIntSmallArrayG (smallArrayt *self, int64_t retType UNUSED);
2094 int32_t dequeueInt32SmallArrayG (smallArrayt *self, int32_t retType UNUSED);
2095 uint64_t dequeueUintSmallArrayG (smallArrayt *self, uint64_t retType UNUSED);
2096 uint32_t dequeueUint32SmallArrayG (smallArrayt *self, uint32_t retType UNUSED);
2097 char* dequeueSSmallArrayG (smallArrayt *self, char* retType UNUSED);
2106 void* dequeueVoidSmallArrayG (smallArrayt *self, void* retType UNUSED);
2108 
2109 
2110 baset* getAtSmallArrayG (smallArrayt *self, baset* retType UNUSED, int64_t index);
2111 undefinedt* getAtUndefinedSmallArrayG (smallArrayt *self, undefinedt* retType UNUSED, int64_t index);
2112 bool getAtBoolSmallArrayG (smallArrayt *self, bool retType UNUSED, int64_t index);
2113 bool* getAtBoolPSmallArrayG (smallArrayt *self, bool* retType UNUSED, int64_t index);
2114 double getAtDoubleSmallArrayG (smallArrayt *self, double retType UNUSED, int64_t index);
2115 double* getAtDoublePSmallArrayG (smallArrayt *self, double* retType UNUSED, int64_t index);
2116 int64_t getAtIntSmallArrayG (smallArrayt *self, int64_t retType UNUSED, int64_t index);
2117 int64_t* getAtIntPSmallArrayG (smallArrayt *self, int64_t* retType UNUSED, int64_t index);
2118 int32_t getAtInt32SmallArrayG (smallArrayt *self, int32_t retType UNUSED, int64_t index);
2119 int32_t* getAtInt32PSmallArrayG (smallArrayt *self, int32_t* retType UNUSED, int64_t index);
2120 uint64_t getAtUintSmallArrayG (smallArrayt *self, uint64_t retType UNUSED, int64_t index);
2121 uint64_t* getAtUintPSmallArrayG (smallArrayt *self, uint64_t* retType UNUSED, int64_t index);
2122 uint32_t getAtUint32SmallArrayG (smallArrayt *self, uint32_t retType UNUSED, int64_t index);
2123 uint32_t* getAtUint32PSmallArrayG (smallArrayt *self, uint32_t* retType UNUSED, int64_t index);
2124 char* getAtSSmallArrayG (smallArrayt *self, char* retType UNUSED, int64_t index);
2125 smallDictt* getAtDictSmallArrayG (smallArrayt *self, smallDictt* retType UNUSED, int64_t index);
2126 smallArrayt* getAtArraySmallArrayG (smallArrayt *self, smallArrayt* retType UNUSED, int64_t index);
2127 smallBoolt* getAtSmallBoolSmallArrayG (smallArrayt *self, smallBoolt* retType UNUSED, int64_t index);
2128 smallBytest* getAtSmallBytesSmallArrayG (smallArrayt *self, smallBytest* retType UNUSED, int64_t index);
2129 smallDoublet* getAtSmallDoubleSmallArrayG (smallArrayt *self, smallDoublet* retType UNUSED, int64_t index);
2130 smallIntt* getAtSmallIntSmallArrayG (smallArrayt *self, smallIntt* retType UNUSED, int64_t index);
2131 smallJsont* getAtSmallJsonSmallArrayG (smallArrayt *self, smallJsont* retType UNUSED, int64_t index);
2132 smallStringt* getAtSmallStringSmallArrayG (smallArrayt *self, smallStringt* retType UNUSED, int64_t index);
2133 void* getAtVoidSmallArrayG (smallArrayt *self, void* retType UNUSED, int64_t index);
2135 
2136 baset* getAtNDupSmallArrayG (smallArrayt *self, baset* retType UNUSED, int64_t index);
2137 undefinedt* getAtNDupUndefinedSmallArrayG (smallArrayt *self, undefinedt* retType UNUSED, int64_t index);
2138 bool getAtNDupBoolSmallArrayG (smallArrayt *self, bool retType UNUSED, int64_t index);
2139 double getAtNDupDoubleSmallArrayG (smallArrayt *self, double retType UNUSED, int64_t index);
2140 int64_t getAtNDupIntSmallArrayG (smallArrayt *self, int64_t retType UNUSED, int64_t index);
2141 int32_t getAtNDupInt32SmallArrayG (smallArrayt *self, int32_t retType UNUSED, int64_t index);
2142 uint64_t getAtNDupUintSmallArrayG (smallArrayt *self, uint64_t retType UNUSED, int64_t index);
2143 uint32_t getAtNDupUint32SmallArrayG (smallArrayt *self, uint32_t retType UNUSED, int64_t index);
2144 char* getAtNDupSSmallArrayG (smallArrayt *self, char* retType UNUSED, int64_t index);
2145 smallDictt* getAtNDupDictSmallArrayG (smallArrayt *self, smallDictt* retType UNUSED, int64_t index);
2146 smallArrayt* getAtNDupArraySmallArrayG (smallArrayt *self, smallArrayt* retType UNUSED, int64_t index);
2147 smallBoolt* getAtNDupSmallBoolSmallArrayG (smallArrayt *self, smallBoolt* retType UNUSED, int64_t index);
2148 smallBytest* getAtNDupSmallBytesSmallArrayG (smallArrayt *self, smallBytest* retType UNUSED, int64_t index);
2150 smallIntt* getAtNDupSmallIntSmallArrayG (smallArrayt *self, smallIntt* retType UNUSED, int64_t index);
2151 smallJsont* getAtNDupSmallJsonSmallArrayG (smallArrayt *self, smallJsont* retType UNUSED, int64_t index);
2153 void* getAtNDupVoidSmallArrayG (smallArrayt *self, void* retType UNUSED, int64_t index);
2155 
2156 smallArrayt* setAtSmallArrayG (smallArrayt *self, int64_t index, baset *value);
2157 smallArrayt* setAtUndefinedSmallArrayG(smallArrayt *self, int64_t index, void *value);
2158 smallArrayt* setAtBoolSmallArrayG (smallArrayt *self, int64_t index, bool value);
2159 smallArrayt* setAtDoubleSmallArrayG (smallArrayt *self, int64_t index, double value);
2160 smallArrayt* setAtIntSmallArrayG (smallArrayt *self, int64_t index, int64_t value);
2161 smallArrayt* setAtSSmallArrayG (smallArrayt *self, int64_t index, const char *string);
2162 smallArrayt* setAtCharSmallArrayG (smallArrayt *self, int64_t index, char c);
2163 smallArrayt* setAtDictSmallArrayG (smallArrayt *self, int64_t index, smallDictt *dict);
2165 smallArrayt* setAtArraycSmallArrayG (smallArrayt *self, int64_t index, char **array);
2166 smallArrayt* setAtCArraycSmallArrayG (smallArrayt *self, int64_t index, const char **array);
2167 smallArrayt* setAtVoidSmallArrayG (smallArrayt *self, int64_t index, void *value);
2173 smallArrayt* setAtSmallStringSmallArrayG (smallArrayt *self, int64_t index, smallStringt *string);
2174 smallArrayt* setAtSmallContainerSmallArrayG(smallArrayt *self, int64_t index, smallContainert *container);
2175 smallArrayt* setAtNFreeSmallArrayG (smallArrayt *self, int64_t index, baset *value);
2176 smallArrayt* setAtNFreeUndefinedSmallArrayG(smallArrayt *self, int64_t index, void *value);
2177 smallArrayt* setAtNFreeSSmallArrayG (smallArrayt *self, int64_t index, char *string);
2178 smallArrayt* setAtNFreeDictSmallArrayG (smallArrayt *self, int64_t index, smallDictt *dict);
2180 smallArrayt* setAtNFreeArraycSmallArrayG (smallArrayt *self, int64_t index, char **array);
2181 smallArrayt* setAtNFreeVoidSmallArrayG (smallArrayt *self, int64_t index, void *value);
2187 smallArrayt* setAtNFreeSmallStringSmallArrayG (smallArrayt *self, int64_t index, smallStringt *string);
2189 
2190 smallArrayt* setPAtDictSmallArrayG (smallArrayt *self, int64_t index, smallDictt *dict);
2193 smallArrayt* setPAtSmallStringSmallArrayG (smallArrayt *self, int64_t index, smallStringt *string);
2194 smallArrayt* setPAtNFreeDictSmallArrayG (smallArrayt *self, int64_t index, smallDictt *dict);
2198 
2199 double getNumSmallArrayG (smallArrayt *self, int64_t index);
2200 
2208 smallArrayt* appendCArraySmallArrayG (smallArrayt *self, const char **array);
2213 
2215 smallArrayt* sliceSmallArrayG(smallArrayt *self, int64_t start, int64_t end);
2216 smallArrayt* cropSmallArrayG (smallArrayt *self, int64_t start, int64_t end);
2217 baset* cropElemSmallArrayG (smallArrayt *self, int64_t index);
2218 undefinedt* cropElemUndefinedSmallArrayG (smallArrayt *self, int64_t index);
2219 bool cropElemBoolSmallArrayG (smallArrayt *self, int64_t index);
2220 double cropElemDoubleSmallArrayG (smallArrayt *self, int64_t index);
2221 int64_t cropElemIntSmallArrayG (smallArrayt *self, int64_t index);
2222 int32_t cropElemInt32SmallArrayG (smallArrayt *self, int64_t index);
2223 uint64_t cropElemUintSmallArrayG (smallArrayt *self, int64_t index);
2224 uint32_t cropElemUint32SmallArrayG (smallArrayt *self, int64_t index);
2225 char* cropElemSSmallArrayG (smallArrayt *self, int64_t index);
2226 smallDictt* cropElemDictSmallArrayG (smallArrayt *self, int64_t index);
2227 smallArrayt* cropElemArraySmallArrayG (smallArrayt *self, int64_t index);
2228 smallBoolt* cropElemSmallBoolSmallArrayG (smallArrayt *self, int64_t index);
2229 smallBytest* cropElemSmallBytesSmallArrayG (smallArrayt *self, int64_t index);
2231 smallIntt* cropElemSmallIntSmallArrayG (smallArrayt *self, int64_t index);
2232 smallJsont* cropElemSmallJsonSmallArrayG (smallArrayt *self, int64_t index);
2234 void* cropElemVoidSmallArrayG (smallArrayt *self, int64_t index);
2236 smallArrayt* copySmallArrayG (smallArrayt *self, int64_t start, int64_t end);
2237 smallArrayt* insertSmallArrayG (smallArrayt *self, int64_t index, smallArrayt *toInsert);
2238 smallArrayt* insertSmallJsonSmallArrayG (smallArrayt *self, int64_t index, smallJsont *toInsert);
2239 smallArrayt* insertNSmashSmallArrayG (smallArrayt *self, int64_t index, smallArrayt *toInsert);
2240 smallArrayt* insertNSmashSmallJsonSmallArrayG(smallArrayt *self, int64_t index, smallJsont *toInsert);
2241 
2242 smallArrayt* injectSmallArrayG (smallArrayt *self, int64_t index, baset *value);
2243 smallArrayt* injectUndefinedSmallArrayG(smallArrayt *self, int64_t index, void *value);
2244 smallArrayt* injectBoolSmallArrayG (smallArrayt *self, int64_t index, bool value);
2245 smallArrayt* injectDoubleSmallArrayG (smallArrayt *self, int64_t index, double value);
2246 smallArrayt* injectIntSmallArrayG (smallArrayt *self, int64_t index, int64_t value);
2247 smallArrayt* injectSSmallArrayG (smallArrayt *self, int64_t index, const char *string);
2248 smallArrayt* injectCharSmallArrayG(smallArrayt *self, int64_t index, char c);
2249 smallArrayt* injectDictSmallArrayG (smallArrayt *self, int64_t index, smallDictt *dict);
2251 smallArrayt* injectArraycSmallArrayG (smallArrayt *self, int64_t index, char **array);
2252 smallArrayt* injectCArraycSmallArrayG (smallArrayt *self, int64_t index, const char **array);
2253 smallArrayt* injectVoidSmallArrayG (smallArrayt *self, int64_t index, void *value);
2258 smallArrayt* injectSmallJsonSmallArrayG (smallArrayt *self, int64_t index, smallJsont *string);
2259 smallArrayt* injectSmallStringSmallArrayG (smallArrayt *self, int64_t index, smallStringt *string);
2260 smallArrayt* injectSmallContainerSmallArrayG(smallArrayt *self, int64_t index, smallContainert *container);
2261 smallArrayt* injectNFreeSmallArrayG (smallArrayt *self, int64_t index, baset *value);
2263 smallArrayt* injectNFreeSSmallArrayG (smallArrayt *self, int64_t index, char *string);
2264 smallArrayt* injectNFreeDictSmallArrayG (smallArrayt *self, int64_t index, smallDictt *dict);
2266 smallArrayt* injectNFreeArraycSmallArrayG (smallArrayt *self, int64_t index, char **array);
2267 smallArrayt* injectNFreeVoidSmallArrayG (smallArrayt *self, int64_t index, void *value);
2272 smallArrayt* injectNFreeSmallJsonSmallArrayG (smallArrayt *self, int64_t index, smallJsont *string);
2275 
2276 smallArrayt* delSmallArrayG (smallArrayt *self, int64_t start, int64_t end);
2277 smallArrayt* delElemSmallArrayG (smallArrayt *self, int64_t index);
2278 smallArrayt* removeSmallArrayG (smallArrayt *self, int64_t start, int64_t end);
2279 smallArrayt* removeElemSmallArrayG (smallArrayt *self, int64_t index);
2281 smallArrayt* sortFSmallArrayG (smallArrayt *self, shCmpt compareFunction);
2285 bool equalSmallArrayArrayG (smallArrayt* self, char ** p2);
2286 bool equalSmallArrayCArrayG (smallArrayt* self, const char ** p2);
2287 bool equalSmallArrayBaseG (smallArrayt* self, baset* p2);
2290 bool icEqualSmallArrayArrayG (smallArrayt* self, char ** p2);
2291 bool icEqualSmallArrayCArrayG (smallArrayt* self, const char ** p2);
2292 bool icEqualSmallArrayBaseG (smallArrayt* self, baset* p2);
2293 size_t lenSmallArrayG (smallArrayt *self);
2295 bool hasSmallArrayG (smallArrayt *self, baset *value);
2297 bool hasBoolSmallArrayG (smallArrayt *self, bool value);
2298 bool hasDoubleSmallArrayG (smallArrayt *self, double value);
2299 bool hasIntSmallArrayG (smallArrayt *self, int64_t value);
2300 bool hasSSmallArrayG (smallArrayt *self, const char *string);
2301 bool hasCharSmallArrayG (smallArrayt *self, char c);
2302 bool hasDictSmallArrayG (smallArrayt *self, smallDictt *dict);
2304 bool hasArraycSmallArrayG (smallArrayt *self, char **array);
2305 bool hasCArraycSmallArrayG (smallArrayt *self, const char **array);
2310 bool hasSmallJsonSmallArrayG (smallArrayt *self, smallJsont *string);
2311 bool hasSmallStringSmallArrayG (smallArrayt *self, smallStringt *string);
2313 ssize_t indexOfSmallArrayG (smallArrayt *self, baset *value);
2315 ssize_t indexOfBoolSmallArrayG (smallArrayt *self, bool value);
2316 ssize_t indexOfDoubleSmallArrayG (smallArrayt *self, double value);
2317 ssize_t indexOfIntSmallArrayG (smallArrayt *self, int64_t value);
2318 ssize_t indexOfSSmallArrayG (smallArrayt *self, const char *string);
2319 ssize_t indexOfCharSmallArrayG (smallArrayt *self, char c);
2320 ssize_t indexOfDictSmallArrayG (smallArrayt *self, smallDictt *dict);
2322 ssize_t indexOfArraycSmallArrayG (smallArrayt *self, char **array);
2323 ssize_t indexOfCArraycSmallArrayG (smallArrayt *self, const char **array);
2328 ssize_t indexOfSmallJsonSmallArrayG (smallArrayt *self, smallJsont *string);
2329 ssize_t indexOfSmallStringSmallArrayG (smallArrayt *self, smallStringt *string);
2333 ssize_t binarySearchBoolSmallArrayG (smallArrayt *self, bool value);
2334 ssize_t binarySearchDoubleSmallArrayG (smallArrayt *self, double value);
2335 ssize_t binarySearchIntSmallArrayG (smallArrayt *self, int64_t value);
2336 ssize_t binarySearchSSmallArrayG (smallArrayt *self, const char *string);
2337 ssize_t binarySearchCharSmallArrayG (smallArrayt *self, char c);
2338 ssize_t binarySearchDictSmallArrayG (smallArrayt *self, smallDictt *dict);
2340 ssize_t binarySearchArraycSmallArrayG (smallArrayt *self, char **array);
2341 ssize_t binarySearchCArraycSmallArrayG (smallArrayt *self, const char **array);
2350 bool icHasSmallArrayG (smallArrayt *self, baset *value);
2351 bool icHasSSmallArrayG (smallArrayt *self, const char *string);
2352 bool icHasCharSmallArrayG (smallArrayt *self, char c);
2353 bool icHasDictSmallArrayG (smallArrayt *self, smallDictt *dict);
2355 bool icHasArraycSmallArrayG (smallArrayt *self, char **array);
2356 bool icHasCArraycSmallArrayG (smallArrayt *self, const char **array);
2357 bool icHasSmallJsonSmallArrayG (smallArrayt *self, smallJsont *string);
2359 ssize_t icIndexOfSmallArrayG (smallArrayt *self, baset *value);
2360 ssize_t icIndexOfSSmallArrayG (smallArrayt *self, const char *string);
2361 ssize_t icIndexOfCharSmallArrayG (smallArrayt *self, char c);
2362 ssize_t icIndexOfDictSmallArrayG (smallArrayt *self, smallDictt *dict);
2364 ssize_t icIndexOfArraycSmallArrayG (smallArrayt *self, char **array);
2365 ssize_t icIndexOfCArraycSmallArrayG (smallArrayt *self, const char **array);
2366 ssize_t icIndexOfSmallJsonSmallArrayG (smallArrayt *self, smallJsont *string);
2369 ssize_t icBinarySearchSSmallArrayG (smallArrayt *self, const char *string);
2370 ssize_t icBinarySearchCharSmallArrayG (smallArrayt *self, char c);
2373 ssize_t icBinarySearchArraycSmallArrayG (smallArrayt *self, char **array);
2374 ssize_t icBinarySearchCArraycSmallArrayG (smallArrayt *self, const char **array);
2380 bool isEmptySmallArrayG (smallArrayt *self);
2381 bool isBlankSmallArrayG (smallArrayt *self);
2382 smallStringt* joinSmallArrayG (smallArrayt *self, const char* delim);
2386 char* joinSSmallArrayG (smallArrayt *self, const char* delim);
2387 char* joinCharSSmallArrayG (smallArrayt *self, char c);
2388 char* joinSmallJsonSSmallArrayG (smallArrayt *self, smallJsont* delim);
2394 smallArrayt* zipSmallJsonCharSmallArrayG(smallArrayt *self, smallJsont *array1, char **array2);
2395 smallArrayt* zipSmallJsonCCharSmallArrayG(smallArrayt *self, smallJsont *array1, const char **array2);
2396 smallArrayt* zipArraySmallArrayG(smallArrayt *self, char** array1, smallArrayt *array2);
2397 smallArrayt* zipCArraySmallArrayG(smallArrayt *self, const char** array1, smallArrayt *array2);
2398 smallArrayt* zipArraySmallJsonSmallArrayG(smallArrayt *self, char** array1, smallJsont *array2);
2399 smallArrayt* zipCArraySmallJsonSmallArrayG(smallArrayt *self, const char** array1, smallJsont *array2);
2400 smallArrayt* zipCharSmallArrayG(smallArrayt *self, smallArrayt *array1, char** array2);
2401 smallArrayt* zipCCharSmallArrayG(smallArrayt *self, smallArrayt *array1, const char** array2);
2402 smallArrayt* zipArrayCharSmallArrayG(smallArrayt *self, char** array1, char** array2);
2403 smallArrayt* zipArrayCCharSmallArrayG(smallArrayt *self, char** array1, const char** array2);
2404 smallArrayt* zipCArrayCharSmallArrayG(smallArrayt *self, const char** array1, char** array2);
2405 smallArrayt* zipCArrayCCharSmallArrayG(smallArrayt *self, const char** array1, const char** array2);
2406 void logSmallArrayG(smallArrayt *self);
2407 smallArrayt* readTextSmallArrayG (smallArrayt *self, const char *filePath);
2411 bool writeTextSmallArrayG (smallArrayt *self, const char *filePath);
2412 bool writeTextSmallJsonSmallArrayG (smallArrayt *self, smallJsont *filePath);
2414 bool writeStreamSmallArrayG (smallArrayt *self, FILE *fp);
2415 bool appendTextSmallArrayG(smallArrayt *self, const char *filePath);
2417 smallStringt* typeSmallStringSmallArrayG(smallArrayt *self, int64_t index);
2419 
2424 #define forEachSmallArray(array, element) \
2425  size_t UNIQVAR(libsheepyInternalIndex) = 0; \
2426  for (baset *element = array->f->getAt(array, 0); UNIQVAR(libsheepyInternalIndex) < array->f->len(array) ; UNIQVAR(libsheepyInternalIndex)++, element = array->f->getAt(array, (int64_t)UNIQVAR(libsheepyInternalIndex))) \
2427  if (element)
2428 
2435 #define forEachTypeSmallArray(type, array, element) \
2436  size_t UNIQVAR(libsheepyInternalIndex) = 0; \
2437  for (type element = getG(array, type, 0); UNIQVAR(libsheepyInternalIndex) < array->f->len(array) ; UNIQVAR(libsheepyInternalIndex)++, element = getG(array, type, UNIQVAR(libsheepyInternalIndex))) \
2438  if (element)
2439 
2444 #define enumerateSmallArray(array, element, index) \
2445  size_t index = 0; \
2446  for (baset *element = array->f->getAt(array, 0); index < array->f->len(array) ; index++, element = array->f->getAt(array, (int64_t)index)) \
2447  if (element)
2448 
2455 #define enumerateTypeSmallArray(type, array, element, index) \
2456  size_t index = 0; \
2457  for (type element = getG(array, type, 0); index < array->f->len(array) ; index++, element = getG(array, type, (int64_t)index)) \
2458  if (element)
2459 
2460 // end class smallArray
2461 
double getAtDoubleSmallArrayG(smallArrayt *self, double retType UNUSED, int64_t index)
smallArrayt * setAtNFreeArraycSmallArrayG(smallArrayt *self, int64_t index, char **array)
smallArrayt * injectCharSmallArrayG(smallArrayt *self, int64_t index, char c)
smallArrayt * setAtSmallDoubleSmallArrayG(smallArrayt *self, int64_t index, smallDoublet *value)
smallArrayt * reverseSmallArrayG(smallArrayt *self)
bool writeTextSmallStringSmallArrayG(smallArrayt *self, smallStringt *filePath)
smallArrayt * prependCharSmallArrayG(smallArrayt *self, char c)
smallArrayt * setAtNFreeSmallJsonSmallArrayG(smallArrayt *self, int64_t index, smallJsont *value)
bool hasArraySmallArrayG(smallArrayt *self, smallArrayt *array)
smallArrayt * pushBoolSmallArrayG(smallArrayt *self, bool value)
smallDoublet * getAtSmallDoubleSmallArrayG(smallArrayt *self, smallDoublet *retType UNUSED, int64_t index)
ssize_t indexOfIntSmallArrayG(smallArrayt *self, int64_t value)
smallArrayt * duplicateSmallArrayG(smallArrayt *self)
smallArrayt * injectNFreeDictSmallArrayG(smallArrayt *self, int64_t index, smallDictt *dict)
smallDictt * getAtDictSmallArrayG(smallArrayt *self, smallDictt *retType UNUSED, int64_t index)
bool(* appendTextSmallArrayFt)(smallArrayt *self, const char *filePath)
append list to filePath
smallArrayt * zipSmallJsonSmallArrayG(smallArrayt *self, smallArrayt *array1, smallJsont *array2)
smallBytest * getAtSmallBytesSmallArrayG(smallArrayt *self, smallBytest *retType UNUSED, int64_t index)
smallArrayt * injectArraycSmallArrayG(smallArrayt *self, int64_t index, char **array)
smallArrayt * appendSmallJsonSmallArrayG(smallArrayt *self, smallJsont *json)
double(* popDoubleSmallArrayFt)(smallArrayt *self)
smallArrayt * pushSmallJsonSmallArrayG(smallArrayt *self, smallJsont *value)
smallt * so
ssize_t indexOfSmallBoolSmallArrayG(smallArrayt *self, smallBoolt *value)
smallArrayt * pushNFreeSmallDoubleSmallArrayG(smallArrayt *self, smallDoublet *value)
uint64_t * getAtUintPSmallArrayG(smallArrayt *self, uint64_t *retType UNUSED, int64_t index)
bool(* writeStreamSmallArrayFt)(smallArrayt *self, FILE *fp)
write list to stream
int64_t getAtNDupIntSmallArrayG(smallArrayt *self, int64_t retType UNUSED, int64_t index)
smallArrayt * pushNFreeArraySmallArrayG(smallArrayt *self, smallArrayt *array)
ssize_t binarySearchIntSmallArrayG(smallArrayt *self, int64_t value)
double popDoubleSmallArrayG(smallArrayt *self, double retType UNUSED)
bool icHasArraySmallArrayG(smallArrayt *self, smallArrayt *array)
smallIntt * getAtNDupSmallIntSmallArrayG(smallArrayt *self, smallIntt *retType UNUSED, int64_t index)
ssize_t indexOfSmallJsonSmallArrayG(smallArrayt *self, smallJsont *string)
bool(* hasUndefinedSmallArrayFt)(smallArrayt *self, undefinedt *undefined)
smallArrayt * appendNSmashSmallArrayG(smallArrayt *self, smallArrayt *array)
ssize_t(* indexOfSmallJsonSmallArrayFt)(smallArrayt *self, smallJsont *string)
smallArrayt * setAtNFreeSmallDoubleSmallArrayG(smallArrayt *self, int64_t index, smallDoublet *value)
smallBytest * getAtNDupSmallBytesSmallArrayG(smallArrayt *self, smallBytest *retType UNUSED, int64_t index)
bool(* hasDoubleSmallArrayFt)(smallArrayt *self, double value)
ssize_t(* indexOfCArraycSmallArrayFt)(smallArrayt *self, const char **array)
smallDictt * popDictSmallArrayG(smallArrayt *self, smallDictt *retType UNUSED)
smallArrayt * prependNFreeSmallBoolSmallArrayG(smallArrayt *self, smallBoolt *value)
smallArrayt * emptySmallArrayG(smallArrayt *self)
smallArrayt * pushNFreeSmallStringSmallArrayG(smallArrayt *self, smallStringt *string)
uint32_t dequeueUint32SmallArrayG(smallArrayt *self, uint32_t retType UNUSED)
bool hasBoolSmallArrayG(smallArrayt *self, bool value)
smallArrayt * zipCArraySmallArrayG(smallArrayt *self, const char **array1, smallArrayt *array2)
smallBoolt * cropElemSmallBoolSmallArrayG(smallArrayt *self, int64_t index)
bool(* hasSmallArrayFt)(smallArrayt *self, baset *value)
check if self has object
smallArrayt * pushNFreeArraycSmallArrayG(smallArrayt *self, char **array)
smallIntt * cropElemSmallIntSmallArrayG(smallArrayt *self, int64_t index)
smallArrayt * setAtDictSmallArrayG(smallArrayt *self, int64_t index, smallDictt *dict)
bool hasSmallDoubleSmallArrayG(smallArrayt *self, smallDoublet *value)
bool(* isEIntSmallArrayFt)(smallArrayt *self, int64_t index)
smallArrayt * prependSmallJsonSmallArrayG(smallArrayt *self, smallJsont *json)
ssize_t(* indexOfSmallIntSmallArrayFt)(smallArrayt *self, smallIntt *value)
smallStringt * joinCharSmallArrayG(smallArrayt *self, char c)
bool icHasDictSmallArrayG(smallArrayt *self, smallDictt *dict)
void * getAtNDupVoidSmallArrayG(smallArrayt *self, void *retType UNUSED, int64_t index)
bool(* areAllEBoolSmallArrayFt)(smallArrayt *self)
uint64_t(* cropElemUintSmallArrayFt)(smallArrayt *self, int64_t index)
ssize_t indexOfArraycSmallArrayG(smallArrayt *self, char **array)
smallArrayt * prependSmallStringSmallArrayG(smallArrayt *self, smallStringt *string)
ssize_t(* icBinarySearchSmallJsonSmallArrayFt)(smallArrayt *self, smallJsont *string)
ssize_t(* icIndexOfCharSmallArrayFt)(smallArrayt *self, char c)
smallArrayt * injectVoidSmallArrayG(smallArrayt *self, int64_t index, void *value)
char *(* toStringSmallArrayFt)(smallArrayt *self)
void initiateSmallArray(smallArrayt *self)
uint32_t cropElemUint32SmallArrayG(smallArrayt *self, int64_t index)
smallArrayt * setAtDoubleSmallArrayG(smallArrayt *self, int64_t index, double value)
smallArrayt * appendArraySmallArrayG(smallArrayt *self, char **array)
ssize_t icBinarySearchSmallStringSmallArrayG(smallArrayt *self, smallStringt *string)
ssize_t binarySearchSmallIntSmallArrayG(smallArrayt *self, smallIntt *value)
smallArrayt * zipArraySmallArrayG(smallArrayt *self, char **array1, smallArrayt *array2)
bool(* getAtBoolSmallArrayFt)(smallArrayt *self, int64_t index)
smallArrayt * zipCArrayCCharSmallArrayG(smallArrayt *self, const char **array1, const char **array2)
smallArrayt * setAtIntSmallArrayG(smallArrayt *self, int64_t index, int64_t value)
bool(* isEFaststringSmallArrayFt)(smallArrayt *self, int64_t index)
ssize_t binarySearchDoubleSmallArrayG(smallArrayt *self, double value)
void(* finishSmallArrayFt)(smallArrayt **self)
free container
smallArrayt * setAtSmallStringSmallArrayG(smallArrayt *self, int64_t index, smallStringt *string)
bool equalSmallArraySmallJsonG(smallArrayt *self, smallJsont *array)
ssize_t(* iterIndexSmallArrayFt)(smallArrayt *self)
void cleanUpSmallArrayTerminateG(smallArrayt **val)
smallArrayt * insertNSmashSmallJsonSmallArrayG(smallArrayt *self, int64_t index, smallJsont *toInsert)
char * joinSSmallArrayG(smallArrayt *self, const char *delim)
ssize_t binarySearchSmallContainerSmallArrayG(smallArrayt *self, smallContainert *container)
smallArrayt * setAtNFreeSSmallArrayG(smallArrayt *self, int64_t index, char *string)
int32_t(* cropElemInt32SmallArrayFt)(smallArrayt *self, int64_t index)
double(* popNumSmallArrayFt)(smallArrayt *self)
pop number
bool(* icEqualSmallArrayFt)(smallArrayt *self, smallArrayt *array)
ignore case and compare each element of self and list
smallArrayt * setAtNFreeSmallBoolSmallArrayG(smallArrayt *self, int64_t index, smallBoolt *value)
smallDoublet * dequeueSmallDoubleSmallArrayG(smallArrayt *self, smallDoublet *retType UNUSED)
bool cropElemBoolSmallArrayG(smallArrayt *self, int64_t index)
smallArrayt * zipSmallJsonCharSmallArrayG(smallArrayt *self, smallJsont *array1, char **array2)
ssize_t(* icIndexOfCArraycSmallArrayFt)(smallArrayt *self, const char **array)
ssize_t binarySearchUndefinedSmallArrayG(smallArrayt *self, undefinedt *value)
uint64_t(* popUintSmallArrayFt)(smallArrayt *self)
void cleanUpSmallArrayFreeG(smallArrayt **val)
smallArrayt * prependNFreeSmallArrayG(smallArrayt *self, baset *value)
ssize_t(* indexOfDictSmallArrayFt)(smallArrayt *self, smallDictt *dict)
void(* forEachSmallArrayFt)(smallArrayt *self, void *closure, forEachElementSmallArrayFt funcElem)
for each loop on elements in the Array
bool(* writeTextSmallStringSmallArrayFt)(smallArrayt *self, smallStringt *filePath)
void logSmallArrayG(smallArrayt *self)
bool icEqualSmallArrayBaseG(smallArrayt *self, baset *p2)
smallArrayt * prependSSmallArrayG(smallArrayt *self, const char *string)
ssize_t indexOfSmallContainerSmallArrayG(smallArrayt *self, smallContainert *container)
double(* getNumSmallArrayFt)(smallArrayt *self, int64_t index)
get number
ssize_t(* indexOfSmallBytesSmallArrayFt)(smallArrayt *self, smallBytest *value)
smallArrayt * pushNFreeSmallJsonSmallArrayG(smallArrayt *self, smallJsont *value)
ssize_t icBinarySearchCharSmallArrayG(smallArrayt *self, char c)
smallStringt * getAtSmallStringSmallArrayG(smallArrayt *self, smallStringt *retType UNUSED, int64_t index)
smallArrayFunctionst * f
smallDictt * cropElemDictSmallArrayG(smallArrayt *self, int64_t index)
ssize_t binarySearchArraycSmallArrayG(smallArrayt *self, char **array)
void cleanUpSmallArrayFinishG(smallArrayt **val)
ssize_t binarySearchSmallJsonSmallArrayG(smallArrayt *self, smallJsont *string)
smallArrayt * insertNSmashSmallArrayG(smallArrayt *self, int64_t index, smallArrayt *toInsert)
int64_t dequeueIntSmallArrayG(smallArrayt *self, int64_t retType UNUSED)
smallArrayt * injectNFreeUndefinedSmallArrayG(smallArrayt *self, int64_t index, undefinedt *value)
smallArrayt * pushDoubleSmallArrayG(smallArrayt *self, double value)
ssize_t icBinarySearchArraySmallArrayG(smallArrayt *self, smallArrayt *array)
int64_t(* getAtNDupIntSmallArrayFt)(smallArrayt *self, int64_t index)
smallArrayt * injectNFreeSmallArrayG(smallArrayt *self, int64_t index, baset *value)
undefinedt * undefined
undefined/null object for setting undefined/null in small data structures pushG(a, undefined);
int32_t cropElemInt32SmallArrayG(smallArrayt *self, int64_t index)
bool(* icEqualSmallArraySmallJsonFt)(smallArrayt *self, smallJsont *array)
void(* logSmallArrayFt)(smallArrayt *self)
print list elements, one line per element to stdout
bool hasSmallIntSmallArrayG(smallArrayt *self, smallIntt *value)
array
ssize_t binarySearchSmallStringSmallArrayG(smallArrayt *self, smallStringt *string)
char * cropElemSSmallArrayG(smallArrayt *self, int64_t index)
smallArrayt * prependNFreeSmallBytesSmallArrayG(smallArrayt *self, smallBytest *value)
smallArrayt * pushSmallIntSmallArrayG(smallArrayt *self, smallIntt *value)
bool equalSmallArrayG(smallArrayt *self, smallArrayt *array)
smallArrayt * injectNFreeSSmallArrayG(smallArrayt *self, int64_t index, char *string)
const char * type
smallArrayt * pushSmallDoubleSmallArrayG(smallArrayt *self, smallDoublet *value)
bool hasIntSmallArrayG(smallArrayt *self, int64_t value)
smallArrayt * prependSmallDoubleSmallArrayG(smallArrayt *self, smallDoublet *value)
smallArrayt * setAtArraySmallArrayG(smallArrayt *self, int64_t index, smallArrayt *array)
bool icHasSmallStringSmallArrayG(smallArrayt *self, smallStringt *string)
smallArrayt * readStreamSmallArrayG(smallArrayt *self, FILE *fp)
smallContainert * getAtSmallContainerSmallArrayG(smallArrayt *self, smallContainert *retType UNUSED, int64_t index)
bool(* hasCharSmallArrayFt)(smallArrayt *self, char c)
bool isEmptySmallArrayG(smallArrayt *self)
smallArrayt * pushNFreeSmallContainerSmallArrayG(smallArrayt *self, smallContainert *container)
ssize_t(* binarySearchDictSmallArrayFt)(smallArrayt *self, smallDictt *dict)
smallArrayt * pushSmallBytesSmallArrayG(smallArrayt *self, smallBytest *value)
size_t lenSmallArrayG(smallArrayt *self)
smallArrayt * setAtCArraycSmallArrayG(smallArrayt *self, int64_t index, const char **array)
smallArrayt * prependDictSmallArrayG(smallArrayt *self, smallDictt *dict)
smallArrayt * readTextSmallStringSmallArrayG(smallArrayt *self, smallStringt *filePath)
smallArrayt * setAtNFreeVoidSmallArrayG(smallArrayt *self, int64_t index, void *value)
uint64_t getAtUintSmallArrayG(smallArrayt *self, uint64_t retType UNUSED, int64_t index)
ssize_t(* indexOfArraycSmallArrayFt)(smallArrayt *self, char **array)
smallStringt * joinSmallArrayG(smallArrayt *self, const char *delim)
smallArrayt * prependNFreeSmallStringSmallArrayG(smallArrayt *self, smallStringt *string)
bool hasSmallStringSmallArrayG(smallArrayt *self, smallStringt *string)
smallDoublet * cropElemSmallDoubleSmallArrayG(smallArrayt *self, int64_t index)
smallArrayt * setAtSmallBytesSmallArrayG(smallArrayt *self, int64_t index, smallBytest *value)
smallArrayt * removeSmallArrayG(smallArrayt *self, int64_t start, int64_t end)
void registerMethodsSmallArray(smallArrayFunctionst *f)
smallArrayt * setAtNFreeSmallContainerSmallArrayG(smallArrayt *self, int64_t index, smallContainert *container)
ssize_t(* binarySearchSmallBytesSmallArrayFt)(smallArrayt *self, smallBytest *value)
bool(* areAllETypeSmallArrayFt)(smallArrayt *self, const char *type)
are all elements of type type
int64_t(* getAtIntSmallArrayFt)(smallArrayt *self, int64_t index)
bool(* writeTextSmallArrayFt)(smallArrayt *self, const char *filePath)
write array to filePath
smallArrayt * zipArrayCCharSmallArrayG(smallArrayt *self, char **array1, const char **array2)
smallArrayt * injectUndefinedSmallArrayG(smallArrayt *self, int64_t index, void *value)
smallArrayt * shiftNSmashSmallJsonSmallArrayG(smallArrayt *self, smallJsont *json)
uint64_t(* getAtUintSmallArrayFt)(smallArrayt *self, int64_t index)
smallArrayt * addSmallArrayG(smallArrayt *self, smallArrayt *array)
int32_t(* getAtNDupInt32SmallArrayFt)(smallArrayt *self, int64_t index)
bool(* appendTextSmallStringSmallArrayFt)(smallArrayt *self, smallStringt *filePath)
smallArrayt * zipSmallJsonSmallArraySmallArrayG(smallArrayt *self, smallJsont *array1, smallArrayt *array2)
ssize_t indexOfBoolSmallArrayG(smallArrayt *self, bool value)
int32_t dequeueInt32SmallArrayG(smallArrayt *self, int32_t retType UNUSED)
bool(* isEStringSmallArrayFt)(smallArrayt *self, int64_t index)
bool(* icHasArraySmallArrayFt)(smallArrayt *self, smallArrayt *array)
bool(* hasSmallJsonSmallArrayFt)(smallArrayt *self, smallJsont *string)
baset * cropElemSmallArrayG(smallArrayt *self, int64_t index)
bool icHasCArraycSmallArrayG(smallArrayt *self, const char **array)
ssize_t icBinarySearchDictSmallArrayG(smallArrayt *self, smallDictt *dict)
bool isBlankSmallArrayG(smallArrayt *self)
bool(* isEmptySmallArrayFt)(smallArrayt *self)
smallArrayt * prependSmallBytesSmallArrayG(smallArrayt *self, smallBytest *value)
smallStringt * popSmallStringSmallArrayG(smallArrayt *self, smallStringt *retType UNUSED)
smallContainert * cropElemSmallContainerSmallArrayG(smallArrayt *self, int64_t index)
ssize_t(* binarySearchSSmallArrayFt)(smallArrayt *self, const char *string)
smallContainert * popSmallContainerSmallArrayG(smallArrayt *self, smallContainert *retType UNUSED)
double(* cropElemDoubleSmallArrayFt)(smallArrayt *self, int64_t index)
smallArrayt * prependVoidSmallArrayG(smallArrayt *self, void *value)
bool icEqualSmallArrayG(smallArrayt *self, smallArrayt *array)
smallArrayt * uniqSmallArrayG(smallArrayt *self, int dum UNUSED)
ssize_t(* binarySearchArraycSmallArrayFt)(smallArrayt *self, char **array)
smallArrayt * pushNFreeSmallBoolSmallArrayG(smallArrayt *self, smallBoolt *value)
smallArrayt * setPAtNFreeSmallJsonSmallArrayG(smallArrayt *self, int64_t index, smallJsont *json)
smallArrayt * typeSmallStringsSmallArrayG(smallArrayt *self)
smallArrayt * allocSmallArray(void)
smallArrayt * pushSSmallArrayG(smallArrayt *self, const char *string)
ssize_t(* binarySearchIntSmallArrayFt)(smallArrayt *self, int64_t value)
smallArrayt * icUniqSmallArrayG(smallArrayt *self, int dum UNUSED)
bool(* isEDictSmallArrayFt)(smallArrayt *self, int64_t index)
double(* dequeueDoubleSmallArrayFt)(smallArrayt *self)
bool(* hasSmallIntSmallArrayFt)(smallArrayt *self, smallIntt *value)
void finalizeSmallArray(void)
int64_t(* iterStepSmallArrayFt)(smallArrayt *self)
smallArrayt * pushCharSmallArrayG(smallArrayt *self, char c)
ssize_t binarySearchArraySmallArrayG(smallArrayt *self, smallArrayt *array)
smallArrayt * zipSmallJsonSmallJsonSmallArrayG(smallArrayt *self, smallJsont *array1, smallJsont *array2)
smallArrayt * getAtNDupArraySmallArrayG(smallArrayt *self, smallArrayt *retType UNUSED, int64_t index)
smallArrayt * allocCArraySmallArray(const char **array)
uint32_t(* getAtUint32SmallArrayFt)(smallArrayt *self, int64_t index)
smallArrayt * zipCArrayCharSmallArrayG(smallArrayt *self, const char **array1, char **array2)
bool(* areAllEContainerSmallArrayFt)(smallArrayt *self)
ssize_t binarySearchSSmallArrayG(smallArrayt *self, const char *string)
smallArrayt * injectDoubleSmallArrayG(smallArrayt *self, int64_t index, double value)
bool(* isEBytesSmallArrayFt)(smallArrayt *self, int64_t index)
smallBytest * cropElemSmallBytesSmallArrayG(smallArrayt *self, int64_t index)
smallStringt * joinSmallJsonSmallArrayG(smallArrayt *self, smallJsont *delim)
bool hasSmallJsonSmallArrayG(smallArrayt *self, smallJsont *string)
ssize_t binarySearchSmallDoubleSmallArrayG(smallArrayt *self, smallDoublet *value)
smallArrayt * prependArraycSmallArrayG(smallArrayt *self, char **array)
bool equalSmallArrayArrayG(smallArrayt *self, char **p2)
undefinedt * popUndefinedSmallArrayG(smallArrayt *self, undefinedt *retType UNUSED)
bool hasDictSmallArrayG(smallArrayt *self, smallDictt *dict)
bool(* isEBoolSmallArrayFt)(smallArrayt *self, int64_t index)
smallArrayt * injectSmallIntSmallArrayG(smallArrayt *self, int64_t index, smallIntt *value)
smallJsont * popSmallJsonSmallArrayG(smallArrayt *self, smallJsont *retType UNUSED)
char * array[]
int32_t(* getAtInt32SmallArrayFt)(smallArrayt *self, int64_t index)
void finalizeRecycleSmallArray(void *arg UNUSED)
bool getAtNDupBoolSmallArrayG(smallArrayt *self, bool retType UNUSED, int64_t index)
bool(* areAllEBytesSmallArrayFt)(smallArrayt *self)
smallArrayt * setAtSmallIntSmallArrayG(smallArrayt *self, int64_t index, smallIntt *value)
char * popSSmallArrayG(smallArrayt *self, char *retType UNUSED)
bool(* icEqualSmallArrayBaseFt)(smallArrayt *self, baset *p2)
smallArrayt * injectBoolSmallArrayG(smallArrayt *self, int64_t index, bool value)
smallArrayt * delSmallArrayG(smallArrayt *self, int64_t start, int64_t end)
smallArrayt * fromArraySmallArrayG(smallArrayt *self, char **array, size_t size)
int64_t popIntSmallArrayG(smallArrayt *self, int64_t retType UNUSED)
smallArrayt * injectDictSmallArrayG(smallArrayt *self, int64_t index, smallDictt *dict)
smallArrayt * insertSmallJsonSmallArrayG(smallArrayt *self, int64_t index, smallJsont *toInsert)
ssize_t icIndexOfSmallJsonSmallArrayG(smallArrayt *self, smallJsont *string)
ssize_t binarySearchSmallArrayG(smallArrayt *self, baset *value)
smallArrayt * injectCArraycSmallArrayG(smallArrayt *self, int64_t index, const char **array)
bool(* hasSmallBytesSmallArrayFt)(smallArrayt *self, smallBytest *value)
ssize_t(* indexOfBoolSmallArrayFt)(smallArrayt *self, bool value)
bool hasCharSmallArrayG(smallArrayt *self, char c)
double cropElemDoubleSmallArrayG(smallArrayt *self, int64_t index)
smallArrayt * pushArraySmallArrayG(smallArrayt *self, smallArrayt *array)
bool icHasSSmallArrayG(smallArrayt *self, const char *string)
baset * dequeueSmallArrayG(smallArrayt *self, baset *retType UNUSED)
smallArrayt * pushCArraycSmallArrayG(smallArrayt *self, const char **array)
smallArrayt * injectNFreeSmallBoolSmallArrayG(smallArrayt *self, int64_t index, smallBoolt *value)
bool icEqualSmallArrayArrayG(smallArrayt *self, char **p2)
ssize_t binarySearchSmallBytesSmallArrayG(smallArrayt *self, smallBytest *value)
void initiateAllocateSmallArray(smallArrayt **self)
bool hasSmallBytesSmallArrayG(smallArrayt *self, smallBytest *value)
smallArrayt * prependNFreeDictSmallArrayG(smallArrayt *self, smallDictt *dict)
ssize_t(* indexOfSmallContainerSmallArrayFt)(smallArrayt *self, smallContainert *container)
smallArrayt * pushSmallContainerSmallArrayG(smallArrayt *self, smallContainert *container)
smallArrayt * pushNFreeSSmallArrayG(smallArrayt *self, char *string)
smallArrayt * sortSmallArrayG(smallArrayt *self)
bool(* equalSmallArrayArrayFt)(smallArrayt *self, char **p2)
uint32_t(* popUint32SmallArrayFt)(smallArrayt *self)
ssize_t(* icIndexOfArraycSmallArrayFt)(smallArrayt *self, char **array)
bool icHasSmallArrayG(smallArrayt *self, baset *value)
smallArrayt * zipSmallArrayG(smallArrayt *self, smallArrayt *array1, smallArrayt *array2)
smallArrayt * pushVoidSmallArrayG(smallArrayt *self, void *value)
smallJsont * cropElemSmallJsonSmallArrayG(smallArrayt *self, int64_t index)
smallArrayt * insertSmallArrayG(smallArrayt *self, int64_t index, smallArrayt *toInsert)
smallArrayt * allocArraySmallArray(char **array)
smallArrayt * setAtNFreeSmallArrayG(smallArrayt *self, int64_t index, baset *value)
int32_t getAtInt32SmallArrayG(smallArrayt *self, int32_t retType UNUSED, int64_t index)
ssize_t binarySearchDictSmallArrayG(smallArrayt *self, smallDictt *dict)
bool(* areAllEUndefinedSmallArrayFt)(smallArrayt *self)
bool hasSmallBoolSmallArrayG(smallArrayt *self, smallBoolt *value)
smallArrayt * injectNFreeSmallDoubleSmallArrayG(smallArrayt *self, int64_t index, smallDoublet *value)
smallJsont * getAtNDupSmallJsonSmallArrayG(smallArrayt *self, smallJsont *retType UNUSED, int64_t index)
smallArrayt * prependIntSmallArrayG(smallArrayt *self, int64_t value)
ssize_t binarySearchCArraycSmallArrayG(smallArrayt *self, const char **array)
bool(* icHasSmallStringSmallArrayFt)(smallArrayt *self, smallStringt *string)
smallArrayt * setPAtNFreeSmallStringSmallArrayG(smallArrayt *self, int64_t index, smallStringt *string)
smallArrayt * appendCArraySmallArrayG(smallArrayt *self, const char **array)
uint64_t getAtNDupUintSmallArrayG(smallArrayt *self, uint64_t retType UNUSED, int64_t index)
smallBoolt * getAtNDupSmallBoolSmallArrayG(smallArrayt *self, smallBoolt *retType UNUSED, int64_t index)
smallArrayt * injectSmallJsonSmallArrayG(smallArrayt *self, int64_t index, smallJsont *string)
smallArrayt * zipCArraySmallJsonSmallArrayG(smallArrayt *self, const char **array1, smallJsont *array2)
smallArrayt * prependCArraycSmallArrayG(smallArrayt *self, const char **array)
ssize_t(* binarySearchSmallIntSmallArrayFt)(smallArrayt *self, smallIntt *value)
smallBytest * dequeueSmallBytesSmallArrayG(smallArrayt *self, smallBytest *retType UNUSED)
ssize_t(* icIndexOfSmallJsonSmallArrayFt)(smallArrayt *self, smallJsont *string)
smallArrayt * setPAtNFreeDictSmallArrayG(smallArrayt *self, int64_t index, smallDictt *dict)
bool(* forEachElementSmallArrayFt)(void *closure, baset *element)
user defined function called in the forEach loop this fucntion is a parameter to the forEach function...
char * getAtNDupSSmallArrayG(smallArrayt *self, char *retType UNUSED, int64_t index)
void * getAtVoidSmallArrayG(smallArrayt *self, void *retType UNUSED, int64_t index)
smallArrayt * sortFSmallArrayG(smallArrayt *self, shCmpt compareFunction)
ssize_t indexOfDoubleSmallArrayG(smallArrayt *self, double value)
smallArrayt * cropSmallArrayG(smallArrayt *self, int64_t start, int64_t end)
double * getAtDoublePSmallArrayG(smallArrayt *self, double *retType UNUSED, int64_t index)
smallArrayt * prependSmallContainerSmallArrayG(smallArrayt *self, smallContainert *container)
smallArrayt * pushIntSmallArrayG(smallArrayt *self, int64_t value)
ssize_t(* indexOfIntSmallArrayFt)(smallArrayt *self, int64_t value)
smallArrayt * setFromSmallArrayG(smallArrayt *self, char **array)
ssize_t indexOfDictSmallArrayG(smallArrayt *self, smallDictt *dict)
END_TEST FILE * fp
smallArrayt * prependNFreeSmallJsonSmallArrayG(smallArrayt *self, smallJsont *json)
smallArrayt * prependDoubleSmallArrayG(smallArrayt *self, double value)
smallArrayt * injectNFreeArraycSmallArrayG(smallArrayt *self, int64_t index, char **array)
ssize_t(* binarySearchDoubleSmallArrayFt)(smallArrayt *self, double value)
smallArrayt * injectNFreeArraySmallArrayG(smallArrayt *self, int64_t index, smallArrayt *array)
smallStringt * joinSmallStringSmallArrayG(smallArrayt *self, smallStringt *delim)
int(* shCmpt)(const void *a, const void *b)
Definition: libsheepy.h:3085
bool hasArraycSmallArrayG(smallArrayt *self, char **array)
smallStringt * getAtNDupSmallStringSmallArrayG(smallArrayt *self, smallStringt *retType UNUSED, int64_t index)
uint64_t dequeueUintSmallArrayG(smallArrayt *self, uint64_t retType UNUSED)
smallArrayt * cropElemArraySmallArrayG(smallArrayt *self, int64_t index)
smallArrayt * icSortSmallArrayG(smallArrayt *self)
int64_t(* popIntSmallArrayFt)(smallArrayt *self)
bool(* hasArraycSmallArrayFt)(smallArrayt *self, char **array)
void(* smashSmallArrayFt)(smallArrayt **self)
free self but not the elements self becomes empty.
bool appendTextSmallStringSmallArrayG(smallArrayt *self, smallStringt *filePath)
smallArrayt * injectNFreeSmallJsonSmallArrayG(smallArrayt *self, int64_t index, smallJsont *string)
ssize_t indexOfUndefinedSmallArrayG(smallArrayt *self, undefinedt *value)
ssize_t(* indexOfSmallArrayFt)(smallArrayt *self, baset *value)
return index of object in list
bool hasSmallContainerSmallArrayG(smallArrayt *self, smallContainert *container)
char c
int32_t(* popInt32SmallArrayFt)(smallArrayt *self)
smallArrayt * copySmallArrayG(smallArrayt *self, int64_t start, int64_t end)
void(* disposeSmallArrayFt)(smallArrayt *self)
free index but not the elements self becomes empty.
smallArrayt * fromCArraySmallArrayG(smallArrayt *self, const char **array, size_t size)
ssize_t(* icBinarySearchDictSmallArrayFt)(smallArrayt *self, smallDictt *dict)
bool(* areAllEDoubleSmallArrayFt)(smallArrayt *self)
uint32_t getAtNDupUint32SmallArrayG(smallArrayt *self, uint32_t retType UNUSED, int64_t index)
ssize_t binarySearchCharSmallArrayG(smallArrayt *self, char c)
smallArrayt * setAtSmallContainerSmallArrayG(smallArrayt *self, int64_t index, smallContainert *container)
smallArrayt * injectSSmallArrayG(smallArrayt *self, int64_t index, const char *string)
uint32_t getAtUint32SmallArrayG(smallArrayt *self, uint32_t retType UNUSED, int64_t index)
bool(* icEqualSmallArrayCArrayFt)(smallArrayt *self, const char **p2)
smallArrayt * setAtNFreeArraySmallArrayG(smallArrayt *self, int64_t index, smallArrayt *array)
smallArrayt * prependUndefinedSmallArrayG(smallArrayt *self, void *value UNUSED)
bool(* isEContainerSmallArrayFt)(smallArrayt *self, int64_t index)
ssize_t indexOfSSmallArrayG(smallArrayt *self, const char *string)
ssize_t binarySearchBoolSmallArrayG(smallArrayt *self, bool value)
smallArrayt * setAtNFreeSmallIntSmallArrayG(smallArrayt *self, int64_t index, smallIntt *value)
smallDictt * dequeueDictSmallArrayG(smallArrayt *self, smallDictt *retType UNUSED)
smallArrayt * dequeueArraySmallArrayG(smallArrayt *self, smallArrayt *retType UNUSED)
ssize_t icIndexOfArraycSmallArrayG(smallArrayt *self, char **array)
smallArrayt * prependSmallIntSmallArrayG(smallArrayt *self, smallIntt *value)
smallArrayt * zipCharSmallArrayG(smallArrayt *self, smallArrayt *array1, char **array2)
bool hasDoubleSmallArrayG(smallArrayt *self, double value)
ssize_t icBinarySearchCArraycSmallArrayG(smallArrayt *self, const char **array)
smallArrayt * pushSmallStringSmallArrayG(smallArrayt *self, smallStringt *string)
void(* freeSmallArrayFt)(smallArrayt *self)
smallArrayt * injectNFreeSmallIntSmallArrayG(smallArrayt *self, int64_t index, smallIntt *value)
smallJsont * getAtSmallJsonSmallArrayG(smallArrayt *self, smallJsont *retType UNUSED, int64_t index)
bool(* equalSmallArraySmallJsonFt)(smallArrayt *self, smallJsont *array)
bool(* areAllEStringSmallArrayFt)(smallArrayt *self)
bool(* areAllEIntSmallArrayFt)(smallArrayt *self)
bool hasCArraycSmallArrayG(smallArrayt *self, const char **array)
uint32_t(* getAtNDupUint32SmallArrayFt)(smallArrayt *self, int64_t index)
smallArrayt * setAtUndefinedSmallArrayG(smallArrayt *self, int64_t index, void *value)
ssize_t indexOfArraySmallArrayG(smallArrayt *self, smallArrayt *array)
ssize_t(* binarySearchCharSmallArrayFt)(smallArrayt *self, char c)
smallArrayt * injectIntSmallArrayG(smallArrayt *self, int64_t index, int64_t value)
ssize_t(* binarySearchSmallStringSmallArrayFt)(smallArrayt *self, smallStringt *string)
bool(* isETypeSmallArrayFt)(smallArrayt *self, int64_t index, const char *type)
is element at index of type type
ssize_t(* binarySearchBoolSmallArrayFt)(smallArrayt *self, bool value)
bool(* hasBoolSmallArrayFt)(smallArrayt *self, bool value)
baset * popSmallArrayG(smallArrayt *self, baset *retType UNUSED)
int64_t(* dequeueIntSmallArrayFt)(smallArrayt *self)
smallJsont * dequeueSmallJsonSmallArrayG(smallArrayt *self, smallJsont *retType UNUSED)
smallArrayt * readTextSmallArrayG(smallArrayt *self, const char *filePath)
smallArrayt * setAtCharSmallArrayG(smallArrayt *self, int64_t index, char c)
smallArrayt * prependNFreeArraycSmallArrayG(smallArrayt *self, char **array)
bool(* icEqualSmallArrayArrayFt)(smallArrayt *self, char **p2)
bool hasSmallArrayG(smallArrayt *self, baset *value)
ssize_t(* indexOfUndefinedSmallArrayFt)(smallArrayt *self, undefinedt *undefined)
ssize_t(* indexOfDoubleSmallArrayFt)(smallArrayt *self, double value)
bool(* hasSSmallArrayFt)(smallArrayt *self, const char *string)
bool(* hasSmallDoubleSmallArrayFt)(smallArrayt *self, smallDoublet *value)
bool hasSSmallArrayG(smallArrayt *self, const char *string)
ssize_t(* icIndexOfDictSmallArrayFt)(smallArrayt *self, smallDictt *dict)
ssize_t(* binarySearchSmallContainerSmallArrayFt)(smallArrayt *self, smallContainert *container)
smallArrayt * pushSmallArrayG(smallArrayt *self, baset *value)
uint64_t(* dequeueUintSmallArrayFt)(smallArrayt *self)
smallArrayt * removeElemSmallArrayG(smallArrayt *self, int64_t index)
bool(* icHasCArraycSmallArrayFt)(smallArrayt *self, const char **array)
double(* getAtDoubleSmallArrayFt)(smallArrayt *self, int64_t index)
int32_t popInt32SmallArrayG(smallArrayt *self, int32_t retType UNUSED)
bool(* writeTextSmallJsonSmallArrayFt)(smallArrayt *self, smallJsont *filePath)
int64_t * getAtIntPSmallArrayG(smallArrayt *self, int64_t *retType UNUSED, int64_t index)
bool(* hasSmallBoolSmallArrayFt)(smallArrayt *self, smallBoolt *value)
void(* terminateSmallArrayFt)(smallArrayt **self)
bool(* icHasCharSmallArrayFt)(smallArrayt *self, char c)
smallArrayt * zipCCharSmallArrayG(smallArrayt *self, smallArrayt *array1, const char **array2)
char * joinSmallJsonSSmallArrayG(smallArrayt *self, smallJsont *delim)
smallIntt * dequeueSmallIntSmallArrayG(smallArrayt *self, smallIntt *retType UNUSED)
smallBoolt * getAtSmallBoolSmallArrayG(smallArrayt *self, smallBoolt *retType UNUSED, int64_t index)
ssize_t indexOfCharSmallArrayG(smallArrayt *self, char c)
ssize_t(* icIndexOfArraySmallArrayFt)(smallArrayt *self, smallArrayt *array)
uint32_t(* cropElemUint32SmallArrayFt)(smallArrayt *self, int64_t index)
bool(* hasArraySmallArrayFt)(smallArrayt *self, smallArrayt *array)
smallArrayt * pushArraycSmallArrayG(smallArrayt *self, char **array)
smallArrayt * prependNFreeUndefinedSmallArrayG(smallArrayt *self, undefinedt *value)
smallArrayt * trimSmallArrayG(smallArrayt *self)
void(* enumerateSmallArrayFt)(smallArrayt *self, void *closure, enumerateElementSmallArrayFt funcElem)
enumerate elements in the Array
smallArrayt * pushNFreeSmallBytesSmallArrayG(smallArrayt *self, smallBytest *value)
ssize_t indexOfSmallStringSmallArrayG(smallArrayt *self, smallStringt *string)
ssize_t indexOfSmallBytesSmallArrayG(smallArrayt *self, smallBytest *value)
double(* dequeueNumSmallArrayFt)(smallArrayt *self)
dequeue number
smallArrayt * injectSmallArrayG(smallArrayt *self, int64_t index, baset *value)
ssize_t(* binarySearchArraySmallArrayFt)(smallArrayt *self, smallArrayt *array)
bool icEqualSmallArrayCArrayG(smallArrayt *self, const char **p2)
smallBoolt * popSmallBoolSmallArrayG(smallArrayt *self, smallBoolt *retType UNUSED)
smallArrayt * pushDictSmallArrayG(smallArrayt *self, smallDictt *dict)
smallArrayt * prependNFreeSmallIntSmallArrayG(smallArrayt *self, smallIntt *value)
smallDictt * getAtNDupDictSmallArrayG(smallArrayt *self, smallDictt *retType UNUSED, int64_t index)
baset * getAtSmallArrayG(smallArrayt *self, baset *retType UNUSED, int64_t index)
ssize_t(* icIndexOfSmallStringSmallArrayFt)(smallArrayt *self, smallStringt *string)
ssize_t(* indexOfSmallStringSmallArrayFt)(smallArrayt *self, smallStringt *string)
smallStringt * cropElemSmallStringSmallArrayG(smallArrayt *self, int64_t index)
bool(* areAllEFaststringSmallArrayFt)(smallArrayt *self)
smallArrayt * setAtNFreeSmallStringSmallArrayG(smallArrayt *self, int64_t index, smallStringt *string)
ssize_t icBinarySearchSmallJsonSmallArrayG(smallArrayt *self, smallJsont *string)
bool equalSmallArrayBaseG(smallArrayt *self, baset *p2)
bool(* equalSmallArrayCArrayFt)(smallArrayt *self, const char **p2)
toStringSmallArrayFt toString
uint64_t cropElemUintSmallArrayG(smallArrayt *self, int64_t index)
smallArrayt * injectNFreeSmallStringSmallArrayG(smallArrayt *self, int64_t index, smallStringt *string)
bool dequeueBoolSmallArrayG(smallArrayt *self, bool retType UNUSED)
bool icEqualSmallArraySmallJsonG(smallArrayt *self, smallJsont *array)
ssize_t icIndexOfSmallStringSmallArrayG(smallArrayt *self, smallStringt *string)
char * dequeueSSmallArrayG(smallArrayt *self, char *retType UNUSED)
smallArrayt * popArraySmallArrayG(smallArrayt *self, smallArrayt *retType UNUSED)
initiateAllocateSmallJson & json
char * joinSmallStringSSmallArrayG(smallArrayt *self, smallStringt *delim)
bool icHasCharSmallArrayG(smallArrayt *self, char c)
bool writeTextSmallArrayG(smallArrayt *self, const char *filePath)
bool(* getAtNDupBoolSmallArrayFt)(smallArrayt *self, int64_t index)
bool(* icHasSSmallArrayFt)(smallArrayt *self, const char *string)
in value value
undefinedt * dequeueUndefinedSmallArrayG(smallArrayt *self, undefinedt *retType UNUSED)
smallArrayt * prependBoolSmallArrayG(smallArrayt *self, bool value)
bool(* isEUndefinedSmallArrayFt)(smallArrayt *self, int64_t index)
smallArrayt * prependNFreeSmallContainerSmallArrayG(smallArrayt *self, smallContainert *container)
smallArrayt * createSAF(const char *paramType,...)
create String Array Function
ssize_t(* binarySearchSmallJsonSmallArrayFt)(smallArrayt *self, smallJsont *string)
int64_t cropElemIntSmallArrayG(smallArrayt *self, int64_t index)
double(* getAtNDupDoubleSmallArrayFt)(smallArrayt *self, int64_t index)
ssize_t indexOfSmallIntSmallArrayG(smallArrayt *self, smallIntt *value)
smallArrayt * setAtSmallJsonSmallArrayG(smallArrayt *self, int64_t index, smallJsont *value)
ssize_t icIndexOfSSmallArrayG(smallArrayt *self, const char *string)
smallBoolt * dequeueSmallBoolSmallArrayG(smallArrayt *self, smallBoolt *retType UNUSED)
smallArrayt * pushNFreeUndefinedSmallArrayG(smallArrayt *self, undefinedt *value)
smallArrayt * prependNFreeSmallDoubleSmallArrayG(smallArrayt *self, smallDoublet *value)
double getNumSmallArrayG(smallArrayt *self, int64_t index)
ssize_t(* icBinarySearchSmallArrayFt)(smallArrayt *self, baset *value)
ignore case and efficiently finds the index of object in list the list has be sorted with the sort fu...
smallArrayt * zipSmallJsonCCharSmallArrayG(smallArrayt *self, smallJsont *array1, const char **array2)
ssize_t(* binarySearchSmallDoubleSmallArrayFt)(smallArrayt *self, smallDoublet *value)
char * joinCharSSmallArrayG(smallArrayt *self, char c)
bool(* hasDictSmallArrayFt)(smallArrayt *self, smallDictt *dict)
void freeSmallArrayG(smallArrayt *self)
smallArrayt * injectSmallStringSmallArrayG(smallArrayt *self, int64_t index, smallStringt *string)
smallArrayt * setFromCSmallArrayG(smallArrayt *self, const char **array)
bool popBoolSmallArrayG(smallArrayt *self, bool retType UNUSED)
ssize_t icIndexOfSmallArrayG(smallArrayt *self, baset *value)
smallArrayt * zipArraySmallJsonSmallArrayG(smallArrayt *self, char **array1, smallJsont *array2)
bool(* isEDoubleSmallArrayFt)(smallArrayt *self, int64_t index)
bool(* icHasSmallArrayFt)(smallArrayt *self, baset *value)
ignore case and check if self has object
uint32_t * getAtUint32PSmallArrayG(smallArrayt *self, uint32_t *retType UNUSED, int64_t index)
smallArrayt * setPAtSmallJsonSmallArrayG(smallArrayt *self, int64_t index, smallJsont *json)
baset * getAtNDupSmallArrayG(smallArrayt *self, baset *retType UNUSED, int64_t index)
smallArrayt * shiftSmallJsonSmallArrayG(smallArrayt *self, smallJsont *json)
void * popVoidSmallArrayG(smallArrayt *self, void *retType UNUSED)
ssize_t(* binarySearchUndefinedSmallArrayFt)(smallArrayt *self, undefinedt *undefined)
bool(* icHasSmallJsonSmallArrayFt)(smallArrayt *self, smallJsont *string)
smallArrayt * setPAtSmallStringSmallArrayG(smallArrayt *self, int64_t index, smallStringt *string)
ssize_t icBinarySearchSmallArrayG(smallArrayt *self, baset *value)
smallArrayt * zipArrayCharSmallArrayG(smallArrayt *self, char **array1, char **array2)
terminateSmallArrayFt terminate
ssize_t(* icBinarySearchSmallStringSmallArrayFt)(smallArrayt *self, smallStringt *string)
size_t(* lenSmallArrayFt)(smallArrayt *self)
return number of elements
smallArrayt * setAtVoidSmallArrayG(smallArrayt *self, int64_t index, void *value)
ssize_t(* indexOfCharSmallArrayFt)(smallArrayt *self, char c)
bool(* equalSmallArrayBaseFt)(smallArrayt *self, baset *p2)
smallArrayt * prependSmallBoolSmallArrayG(smallArrayt *self, smallBoolt *value)
#define UNUSED
Definition: libsheepy.h:8195
int64_t(* cropElemIntSmallArrayFt)(smallArrayt *self, int64_t index)
int32_t(* dequeueInt32SmallArrayFt)(smallArrayt *self)
bool(* popBoolSmallArrayFt)(smallArrayt *self)
void * cropElemVoidSmallArrayG(smallArrayt *self, int64_t index)
smallArrayt * setAtBoolSmallArrayG(smallArrayt *self, int64_t index, bool value)
smallArrayt * setAtNFreeSmallBytesSmallArrayG(smallArrayt *self, int64_t index, smallBytest *value)
ssize_t(* icBinarySearchCharSmallArrayFt)(smallArrayt *self, char c)
smallArrayt * appendNSmashSmallJsonSmallArrayG(smallArrayt *self, smallJsont *json)
bool(* hasSmallStringSmallArrayFt)(smallArrayt *self, smallStringt *string)
ssize_t(* icBinarySearchArraySmallArrayFt)(smallArrayt *self, smallArrayt *array)
bool icHasArraycSmallArrayG(smallArrayt *self, char **array)
smallArrayt * allocSmallArrayG(smallArrayt *self UNUSED)
bool appendTextSmallArrayG(smallArrayt *self, const char *filePath)
undefinedt * cropElemUndefinedSmallArrayG(smallArrayt *self, int64_t index)
void(* resetSmallArrayFt)(smallArrayt *self)
remove reference to internal sObject, set NULL and free the iterator
smallArrayt * appendSmallArrayG(smallArrayt *self, smallArrayt *array)
bool(* dequeueBoolSmallArrayFt)(smallArrayt *self)
smallArrayt * setAtSSmallArrayG(smallArrayt *self, int64_t index, const char *string)
ssize_t indexOfSmallArrayG(smallArrayt *self, baset *value)
bool writeTextSmallJsonSmallArrayG(smallArrayt *self, smallJsont *filePath)
bool(* hasCArraycSmallArrayFt)(smallArrayt *self, const char **array)
ssize_t icBinarySearchSSmallArrayG(smallArrayt *self, const char *string)
smallArrayt * prependArraySmallArrayG(smallArrayt *self, smallArrayt *array)
ssize_t(* indexOfSSmallArrayFt)(smallArrayt *self, const char *string)
bool writeStreamSmallArrayG(smallArrayt *self, FILE *fp)
smallArrayt * pushNFreeDictSmallArrayG(smallArrayt *self, smallDictt *dict)
smallArrayt * shiftNSmashSmallArrayG(smallArrayt *self, smallArrayt *array)
bool(* areAllEArraySmallArrayFt)(smallArrayt *self)
ssize_t(* binarySearchSmallArrayFt)(smallArrayt *self, baset *value)
efficiently finds the index of object in list the list has be sorted with the sort function ...
ssize_t(* binarySearchCArraycSmallArrayFt)(smallArrayt *self, const char **array)
bool(* hasSmallContainerSmallArrayFt)(smallArrayt *self, smallContainert *container)
ssize_t icIndexOfArraySmallArrayG(smallArrayt *self, smallArrayt *array)
uint64_t(* getAtNDupUintSmallArrayFt)(smallArrayt *self, int64_t index)
smallArrayt * shiftSmallArrayG(smallArrayt *self, smallArrayt *array)
bool(* hasIntSmallArrayFt)(smallArrayt *self, int64_t value)
void cleanUpSmallArrayFreeLocalG(smallArrayt *val)
char(* typeSmallArrayFt)(smallArrayt *self, int64_t index)
get object type at index
bool(* equalSmallArrayFt)(smallArrayt *self, smallArrayt *array)
compare each element of self and list
smallArrayt * injectSmallBoolSmallArrayG(smallArrayt *self, int64_t index, smallBoolt *value)
smallArrayt * prependSmallArrayG(smallArrayt *self, baset *value)
void cleanUpSmallArraySmashG(smallArrayt **val)
bool(* isBlankSmallArrayFt)(smallArrayt *self)
base class
smallArrayt *(* duplicateSmallArrayFt)(smallArrayt *self)
smallArrayt * setAtNFreeUndefinedSmallArrayG(smallArrayt *self, int64_t index, void *value)
bool * getAtBoolPSmallArrayG(smallArrayt *self, bool *retType UNUSED, int64_t index)
ssize_t(* icBinarySearchArraycSmallArrayFt)(smallArrayt *self, char **array)
uint64_t popUintSmallArrayG(smallArrayt *self, uint64_t retType UNUSED)
bool(* icHasArraycSmallArrayFt)(smallArrayt *self, char **array)
smallArrayt * injectArraySmallArrayG(smallArrayt *self, int64_t index, smallArrayt *array)
smallArrayt * prependNFreeSSmallArrayG(smallArrayt *self, char *string)
smallArrayt * sliceSmallArrayG(smallArrayt *self, int64_t start, int64_t end)
smallBytest * popSmallBytesSmallArrayG(smallArrayt *self, smallBytest *retType UNUSED)
smallIntt * popSmallIntSmallArrayG(smallArrayt *self, smallIntt *retType UNUSED)
ssize_t icBinarySearchArraycSmallArrayG(smallArrayt *self, char **array)
ssize_t(* icBinarySearchSSmallArrayFt)(smallArrayt *self, const char *string)
ssize_t(* binarySearchSmallBoolSmallArrayFt)(smallArrayt *self, smallBoolt *value)
bool(* areAllEDictSmallArrayFt)(smallArrayt *self)
smallArrayt * appendNSmashArraySmallArrayG(smallArrayt *self, char **array)
smallArrayt * injectSmallContainerSmallArrayG(smallArrayt *self, int64_t index, smallContainert *container)
ssize_t icIndexOfDictSmallArrayG(smallArrayt *self, smallDictt *dict)
smallArrayt * delElemSmallArrayG(smallArrayt *self, int64_t index)
ssize_t(* indexOfArraySmallArrayFt)(smallArrayt *self, smallArrayt *array)
smallArrayt * injectNFreeSmallBytesSmallArrayG(smallArrayt *self, int64_t index, smallBytest *value)
bool getAtBoolSmallArrayG(smallArrayt *self, bool retType UNUSED, int64_t index)
int32_t * getAtInt32PSmallArrayG(smallArrayt *self, int32_t *retType UNUSED, int64_t index)
bool(* enumerateElementSmallArrayFt)(void *closure, size_t index, baset *element)
user defined function called in the enumerate loop this fucntion is a parameter to the enumerate func...
smallArrayt * pushUndefinedSmallArrayG(smallArrayt *self, void *value UNUSED)
smallArrayt * injectSmallDoubleSmallArrayG(smallArrayt *self, int64_t index, smallDoublet *value)
undefinedt * getAtNDupUndefinedSmallArrayG(smallArrayt *self, undefinedt *retType UNUSED, int64_t index)
smallArrayt * pushNFreeSmallArrayG(smallArrayt *self, baset *value)
smallArrayt * setPAtNFreeArraySmallArrayG(smallArrayt *self, int64_t index, smallArrayt *array)
smallArrayt * setPAtDictSmallArrayG(smallArrayt *self, int64_t index, smallDictt *dict)
ssize_t(* icBinarySearchCArraycSmallArrayFt)(smallArrayt *self, const char **array)
duplicateSmallArrayFt duplicate
smallArrayt * injectNFreeVoidSmallArrayG(smallArrayt *self, int64_t index, void *value)
smallArrayt * setPAtArraySmallArrayG(smallArrayt *self, int64_t index, smallArrayt *array)
ssize_t(* icIndexOfSSmallArrayFt)(smallArrayt *self, const char *string)
ssize_t(* indexOfSmallDoubleSmallArrayFt)(smallArrayt *self, smallDoublet *value)
ssize_t(* indexOfSmallBoolSmallArrayFt)(smallArrayt *self, smallBoolt *value)
bool(* isEArraySmallArrayFt)(smallArrayt *self, int64_t index)
smallDoublet * popSmallDoubleSmallArrayG(smallArrayt *self, smallDoublet *retType UNUSED)
smallArrayt * pushNFreeSmallIntSmallArrayG(smallArrayt *self, smallIntt *value)
bool hasUndefinedSmallArrayG(smallArrayt *self, undefinedt *value)
smallArrayt * setAtNFreeDictSmallArrayG(smallArrayt *self, int64_t index, smallDictt *dict)
smallArrayt * prependNFreeArraySmallArrayG(smallArrayt *self, smallArrayt *array)
ssize_t indexOfSmallDoubleSmallArrayG(smallArrayt *self, smallDoublet *value)
smallContainert * getAtNDupSmallContainerSmallArrayG(smallArrayt *self, smallContainert *retType UNUSED, int64_t index)
smallArrayt * setAtSmallArrayG(smallArrayt *self, int64_t index, baset *value)
int64_t getAtIntSmallArrayG(smallArrayt *self, int64_t retType UNUSED, int64_t index)
ssize_t icIndexOfCArraycSmallArrayG(smallArrayt *self, const char **array)
double dequeueDoubleSmallArrayG(smallArrayt *self, double retType UNUSED)
char * getAtSSmallArrayG(smallArrayt *self, char *retType UNUSED, int64_t index)
smallIntt * getAtSmallIntSmallArrayG(smallArrayt *self, smallIntt *retType UNUSED, int64_t index)
uint32_t popUint32SmallArrayG(smallArrayt *self, uint32_t retType UNUSED)
smallContainert * dequeueSmallContainerSmallArrayG(smallArrayt *self, smallContainert *retType UNUSED)
bool(* cropElemBoolSmallArrayFt)(smallArrayt *self, int64_t index)
bool icHasSmallJsonSmallArrayG(smallArrayt *self, smallJsont *string)
smallArrayt * readTextSmallJsonSmallArrayG(smallArrayt *self, smallJsont *filePath)
void * dequeueVoidSmallArrayG(smallArrayt *self, void *retType UNUSED)
smallArrayt * setAtSmallBoolSmallArrayG(smallArrayt *self, int64_t index, smallBoolt *value)
ssize_t(* icIndexOfSmallArrayFt)(smallArrayt *self, baset *value)
ignore case and return index of object in list
ssize_t icIndexOfCharSmallArrayG(smallArrayt *self, char c)
uint32_t(* dequeueUint32SmallArrayFt)(smallArrayt *self)
bool(* icHasDictSmallArrayFt)(smallArrayt *self, smallDictt *dict)
void cleanUpSmallArrayDisposeG(smallArrayt *val)
bool equalSmallArrayCArrayG(smallArrayt *self, const char **p2)
finishSmallArrayFt finish
smallStringt * typeSmallStringSmallArrayG(smallArrayt *self, int64_t index)
int32_t getAtNDupInt32SmallArrayG(smallArrayt *self, int32_t retType UNUSED, int64_t index)
smallArrayt * setAtArraycSmallArrayG(smallArrayt *self, int64_t index, char **array)
double getAtNDupDoubleSmallArrayG(smallArrayt *self, double retType UNUSED, int64_t index)
ssize_t binarySearchSmallBoolSmallArrayG(smallArrayt *self, smallBoolt *value)
void(* setsoSmallArrayFt)(smallArrayt *self, sArrayt *so)
set the sobject, data in the container the iterator is reset
smallArrayt * injectNFreeSmallContainerSmallArrayG(smallArrayt *self, int64_t index, smallContainert *container)
smallArrayt * pushSmallBoolSmallArrayG(smallArrayt *self, smallBoolt *value)
smallDoublet * getAtNDupSmallDoubleSmallArrayG(smallArrayt *self, smallDoublet *retType UNUSED, int64_t index)
smallArrayt * getAtArraySmallArrayG(smallArrayt *self, smallArrayt *retType UNUSED, int64_t index)
smallArrayt * compactSmallArrayG(smallArrayt *self)
smallArrayt * injectSmallBytesSmallArrayG(smallArrayt *self, int64_t index, smallBytest *value)
ssize_t indexOfCArraycSmallArrayG(smallArrayt *self, const char **array)
smallStringt * dequeueSmallStringSmallArrayG(smallArrayt *self, smallStringt *retType UNUSED)
undefinedt * getAtUndefinedSmallArrayG(smallArrayt *self, undefinedt *retType UNUSED, int64_t index)