1 /* Code generated from eC source file: Container.ec */
3 #define __runtimePlatform 1
4 #elif defined(__APPLE__)
5 #define __runtimePlatform 3
7 #define __runtimePlatform 2
10 typedef long long int64;
11 typedef unsigned long long uint64;
15 #elif defined(__TINYC__)
17 #define __builtin_va_list va_list
18 #define __builtin_va_start va_start
19 #define __builtin_va_end va_end
21 #define strcasecmp stricmp
22 #define strncasecmp strnicmp
23 #define __declspec(x) __attribute__((x))
27 typedef long long int64;
28 typedef unsigned long long uint64;
30 typedef __int64 int64;
31 typedef unsigned __int64 uint64;
34 #define __ENDIAN_PAD(x) (8 - (x))
36 #define __ENDIAN_PAD(x) 0
39 # if defined(__GNUC__) || defined(__TINYC__)
40 # define ecere_stdcall __attribute__((__stdcall__))
41 # define ecere_gcc_struct __attribute__((gcc_struct))
43 # define ecere_stdcall __stdcall
44 # define ecere_gcc_struct
47 # define ecere_stdcall
48 # define ecere_gcc_struct
51 #include <sys/types.h>
52 extern int __ecereVMethodID_class_OnCompare;
54 extern int __ecereVMethodID_class_OnGetString;
56 extern int __ecereVMethodID_class_OnSerialize;
58 extern int __ecereVMethodID_class_OnUnserialize;
60 extern struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__com__Class_char__PTR_;
62 struct __ecereNameSpace__ecere__sys__BTNode;
64 struct __ecereNameSpace__ecere__sys__OldList
73 struct __ecereNameSpace__ecere__com__DataValue
88 } ecere_gcc_struct __anon1;
91 struct __ecereNameSpace__ecere__com__IteratorPointer;
93 struct __ecereNameSpace__ecere__com__SerialBuffer
95 unsigned char * _buffer;
101 extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
103 extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
105 extern void * __ecereNameSpace__ecere__com__eSystem_Renew(void * memory, unsigned int size);
107 extern void * __ecereNameSpace__ecere__com__eSystem_Renew0(void * memory, unsigned int size);
109 extern void __ecereNameSpace__ecere__com__eSystem_Delete(void * memory);
111 extern char * strcat(char * , const char * );
113 extern void * memset(void * area, int value, size_t count);
115 extern unsigned int __ecereNameSpace__ecere__com__log2i(unsigned int number);
117 struct __ecereNameSpace__ecere__com__ClassTemplateParameter;
119 int __ecereVMethodID_class_OnCompare;
121 int __ecereVMethodID_class_OnCopy;
123 int __ecereVMethodID_class_OnGetString;
125 int __ecereVMethodID_class_OnFree;
127 struct __ecereNameSpace__ecere__com__Property;
129 extern void __ecereNameSpace__ecere__com__eInstance_Watch(void * instance, struct __ecereNameSpace__ecere__com__Property * _property, void * object, void (* callback)(void * , void * ));
131 static __attribute__((unused)) struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__com__Iterator_data, * __ecerePropM___ecereNameSpace__ecere__com__Iterator_data;
133 static __attribute__((unused)) struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__com__Container_copySrc, * __ecerePropM___ecereNameSpace__ecere__com__Container_copySrc;
135 static __attribute__((unused)) struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__com__Container_firstIterator, * __ecerePropM___ecereNameSpace__ecere__com__Container_firstIterator;
137 static __attribute__((unused)) struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__com__Container_lastIterator, * __ecerePropM___ecereNameSpace__ecere__com__Container_lastIterator;
139 struct __ecereNameSpace__ecere__com__Class;
141 struct __ecereNameSpace__ecere__com__Instance
144 struct __ecereNameSpace__ecere__com__Class * _class;
148 extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char * name);
150 extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char * name, long long value);
152 extern void * __ecereNameSpace__ecere__com__eInstance_New(struct __ecereNameSpace__ecere__com__Class * _class);
154 extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_AddProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char * name, const char * dataType, void * setStmt, void * getStmt, int declMode);
156 extern void __ecereNameSpace__ecere__com__eClass_DoneAddingTemplateParameters(struct __ecereNameSpace__ecere__com__Class * base);
158 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst;
160 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_GetLast;
162 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_GetPrev;
164 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_GetNext;
166 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData;
168 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_SetData;
170 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_GetAtPosition;
172 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Insert;
174 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Add;
176 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Remove;
178 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Move;
180 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_RemoveAll;
182 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Copy;
184 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Find;
186 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_FreeIterator;
188 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_GetCount;
190 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Free;
192 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Delete;
194 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Sort;
196 struct __ecereNameSpace__ecere__com__Property
198 struct __ecereNameSpace__ecere__com__Property * prev;
199 struct __ecereNameSpace__ecere__com__Property * next;
201 unsigned int isProperty;
204 struct __ecereNameSpace__ecere__com__Class * _class;
205 const char * dataTypeString;
206 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
207 struct __ecereNameSpace__ecere__com__Instance * dataType;
208 void (* Set)(void * , int);
209 int (* Get)(void * );
210 unsigned int (* IsSet)(void * );
214 unsigned int conversion;
215 unsigned int watcherOffset;
216 const char * category;
217 unsigned int compiled;
218 unsigned int selfWatchable;
219 unsigned int isWatchable;
222 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
224 extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char * name, void * function);
226 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
228 extern void __ecereNameSpace__ecere__com__eInstance_StopWatching(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property, struct __ecereNameSpace__ecere__com__Instance * object);
230 extern void __ecereNameSpace__ecere__com__eInstance_FireWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
232 struct __ecereNameSpace__ecere__com__Iterator
234 struct __ecereNameSpace__ecere__com__Instance * container;
235 struct __ecereNameSpace__ecere__com__IteratorPointer * pointer;
238 void __ecereProp___ecereNameSpace__ecere__com__Container_Set_copySrc(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Instance * value);
240 struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereNameSpace__ecere__com__Container_GetFirst(struct __ecereNameSpace__ecere__com__Instance * this)
242 return (((void *)0));
245 struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereNameSpace__ecere__com__Container_GetLast(struct __ecereNameSpace__ecere__com__Instance * this)
247 return (((void *)0));
250 struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereNameSpace__ecere__com__Container_GetPrev(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer)
252 return (((void *)0));
255 struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereNameSpace__ecere__com__Container_GetNext(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer)
257 return (((void *)0));
260 uint64 __ecereMethod___ecereNameSpace__ecere__com__Container_GetData(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer)
265 struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereNameSpace__ecere__com__Container_GetAtPosition(struct __ecereNameSpace__ecere__com__Instance * this, const uint64 pos, unsigned int create, unsigned int * justAdded)
267 return (((void *)0));
270 int __ecereVMethodID_class_OnSerialize;
272 int __ecereVMethodID_class_OnUnserialize;
274 extern void __ecereNameSpace__ecere__com__eInstance_DecRef(struct __ecereNameSpace__ecere__com__Instance * instance);
276 void __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Put(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Class * class, const void * data);
278 void __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Get(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Class * class, void * * data);
280 uint64 __ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data(struct __ecereNameSpace__ecere__com__Iterator * this);
282 void __ecereProp___ecereNameSpace__ecere__com__Iterator_Set_data(struct __ecereNameSpace__ecere__com__Iterator * this, uint64 value);
284 struct __ecereNameSpace__ecere__sys__BinaryTree;
286 struct __ecereNameSpace__ecere__sys__BinaryTree
288 struct __ecereNameSpace__ecere__sys__BTNode * root;
290 int (* CompareKey)(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, uintptr_t a, uintptr_t b);
291 void (* FreeKey)(void * key);
294 struct __ecereNameSpace__ecere__com__DataMember;
296 struct __ecereNameSpace__ecere__com__DataMember
298 struct __ecereNameSpace__ecere__com__DataMember * prev;
299 struct __ecereNameSpace__ecere__com__DataMember * next;
301 unsigned int isProperty;
304 struct __ecereNameSpace__ecere__com__Class * _class;
305 const char * dataTypeString;
306 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
307 struct __ecereNameSpace__ecere__com__Instance * dataType;
311 struct __ecereNameSpace__ecere__sys__OldList members;
312 struct __ecereNameSpace__ecere__sys__BinaryTree membersAlpha;
314 short structAlignment;
315 short pointerAlignment;
318 extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, const char * name, const char * type, unsigned int size, unsigned int alignment, int declMode);
320 struct __ecereNameSpace__ecere__com__Method;
322 struct __ecereNameSpace__ecere__com__ClassTemplateArgument
328 const char * dataTypeString;
329 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
330 } ecere_gcc_struct __anon1;
331 struct __ecereNameSpace__ecere__com__DataValue expression;
334 const char * memberString;
337 struct __ecereNameSpace__ecere__com__DataMember * member;
338 struct __ecereNameSpace__ecere__com__Property * prop;
339 struct __ecereNameSpace__ecere__com__Method * method;
340 } ecere_gcc_struct __anon1;
341 } ecere_gcc_struct __anon2;
342 } ecere_gcc_struct __anon1;
345 struct __ecereNameSpace__ecere__com__Method
348 struct __ecereNameSpace__ecere__com__Method * parent;
349 struct __ecereNameSpace__ecere__com__Method * left;
350 struct __ecereNameSpace__ecere__com__Method * right;
355 struct __ecereNameSpace__ecere__com__Class * _class;
357 const char * dataTypeString;
358 struct __ecereNameSpace__ecere__com__Instance * dataType;
362 extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char * name, const char * type, void * function, int declMode);
364 extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char * name, const char * type, void * function, int declMode);
366 extern struct __ecereNameSpace__ecere__com__ClassTemplateParameter * __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(struct __ecereNameSpace__ecere__com__Class * _class, const char * name, int type, const void * info, struct __ecereNameSpace__ecere__com__ClassTemplateArgument * defaultArg);
368 struct __ecereNameSpace__ecere__com__Module;
370 extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, const char * name, const char * baseName, int size, int sizeClass, unsigned int (* Constructor)(void * ), void (* Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
372 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
374 struct __ecereNameSpace__ecere__com__NameSpace;
376 struct __ecereNameSpace__ecere__com__NameSpace
379 struct __ecereNameSpace__ecere__com__NameSpace * btParent;
380 struct __ecereNameSpace__ecere__com__NameSpace * left;
381 struct __ecereNameSpace__ecere__com__NameSpace * right;
383 struct __ecereNameSpace__ecere__com__NameSpace * parent;
384 struct __ecereNameSpace__ecere__sys__BinaryTree nameSpaces;
385 struct __ecereNameSpace__ecere__sys__BinaryTree classes;
386 struct __ecereNameSpace__ecere__sys__BinaryTree defines;
387 struct __ecereNameSpace__ecere__sys__BinaryTree functions;
390 struct __ecereNameSpace__ecere__com__Class
392 struct __ecereNameSpace__ecere__com__Class * prev;
393 struct __ecereNameSpace__ecere__com__Class * next;
399 unsigned int (* Constructor)(void * );
400 void (* Destructor)(void * );
403 struct __ecereNameSpace__ecere__com__Class * base;
404 struct __ecereNameSpace__ecere__sys__BinaryTree methods;
405 struct __ecereNameSpace__ecere__sys__BinaryTree members;
406 struct __ecereNameSpace__ecere__sys__BinaryTree prop;
407 struct __ecereNameSpace__ecere__sys__OldList membersAndProperties;
408 struct __ecereNameSpace__ecere__sys__BinaryTree classProperties;
409 struct __ecereNameSpace__ecere__sys__OldList derivatives;
413 struct __ecereNameSpace__ecere__com__Instance * module;
414 struct __ecereNameSpace__ecere__com__NameSpace * nameSpace;
415 const char * dataTypeString;
416 struct __ecereNameSpace__ecere__com__Instance * dataType;
418 int defaultAlignment;
419 void (* Initialize)();
421 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
422 const char * designerClass;
423 unsigned int noExpansion;
424 const char * defaultProperty;
425 unsigned int comRedefinition;
428 unsigned int internalDecl;
430 unsigned int computeSize;
431 short structAlignment;
432 short pointerAlignment;
433 int destructionWatchOffset;
435 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
436 int inheritanceAccess;
437 const char * fullName;
439 struct __ecereNameSpace__ecere__sys__OldList conversions;
440 struct __ecereNameSpace__ecere__sys__OldList templateParams;
441 struct __ecereNameSpace__ecere__com__ClassTemplateArgument * templateArgs;
442 struct __ecereNameSpace__ecere__com__Class * templateClass;
443 struct __ecereNameSpace__ecere__sys__OldList templatized;
445 unsigned int isInstanceClass;
446 unsigned int byValueSystemClass;
449 struct __ecereNameSpace__ecere__com__Application
454 unsigned int isGUIApp;
455 struct __ecereNameSpace__ecere__sys__OldList allModules;
456 char * parsedCommand;
457 struct __ecereNameSpace__ecere__com__NameSpace systemNameSpace;
460 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Iterator;
462 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Container;
464 void __ecereMethod___ecereNameSpace__ecere__com__Container_OnFree(struct __ecereNameSpace__ecere__com__Class * class, struct __ecereNameSpace__ecere__com__Instance * this)
466 if((struct __ecereNameSpace__ecere__com__Instance *)this)
469 void (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
471 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
472 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
474 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
475 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Free]);
476 __internal_VirtualMethod ? __internal_VirtualMethod(this) : (void)1;
478 (__ecereNameSpace__ecere__com__eInstance_DecRef(this), this = 0);
482 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_int;
484 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Instance;
486 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_uint;
488 const char * __ecereProp___ecereNameSpace__ecere__com__Class_Get_char__PTR_(struct __ecereNameSpace__ecere__com__Class * this);
490 struct __ecereNameSpace__ecere__com__Class * __ecereProp___ecereNameSpace__ecere__com__Class_Set_char__PTR_(const char * value);
492 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Module;
494 struct __ecereNameSpace__ecere__com__Module
496 struct __ecereNameSpace__ecere__com__Instance * application;
497 struct __ecereNameSpace__ecere__sys__OldList classes;
498 struct __ecereNameSpace__ecere__sys__OldList defines;
499 struct __ecereNameSpace__ecere__sys__OldList functions;
500 struct __ecereNameSpace__ecere__sys__OldList modules;
501 struct __ecereNameSpace__ecere__com__Instance * prev;
502 struct __ecereNameSpace__ecere__com__Instance * next;
508 struct __ecereNameSpace__ecere__com__NameSpace privateNameSpace;
509 struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
512 uint64 __ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data(struct __ecereNameSpace__ecere__com__Iterator * this)
514 return (__extension__ ({
515 uint64 (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
517 __internal_VirtualMethod = ((uint64 (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
518 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
520 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
521 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData]);
522 __internal_VirtualMethod ? __internal_VirtualMethod(this->container, this->pointer) : (uint64)1;
526 void __ecereProp___ecereNameSpace__ecere__com__Iterator_Set_data(struct __ecereNameSpace__ecere__com__Iterator * this, uint64 value)
529 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer, uint64 data);
531 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer, uint64 data))__extension__ ({
532 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
534 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
535 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_SetData]);
536 __internal_VirtualMethod ? __internal_VirtualMethod(this->container, this->pointer, value) : (unsigned int)1;
540 unsigned int __ecereMethod___ecereNameSpace__ecere__com__Iterator_Prev(struct __ecereNameSpace__ecere__com__Iterator * this)
542 if(this->pointer && this->container)
543 this->pointer = (__extension__ ({
544 struct __ecereNameSpace__ecere__com__IteratorPointer * (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
546 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
547 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
549 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
550 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetPrev]);
551 __internal_VirtualMethod ? __internal_VirtualMethod(this->container, this->pointer) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
553 else if(this->container)
554 this->pointer = (__extension__ ({
555 struct __ecereNameSpace__ecere__com__IteratorPointer * (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
557 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
558 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
560 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
561 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetLast]);
562 __internal_VirtualMethod ? __internal_VirtualMethod(this->container) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
564 return this->pointer != (((void *)0));
567 unsigned int __ecereMethod___ecereNameSpace__ecere__com__Iterator_Next(struct __ecereNameSpace__ecere__com__Iterator * this)
569 if(this->pointer && this->container)
570 this->pointer = (__extension__ ({
571 struct __ecereNameSpace__ecere__com__IteratorPointer * (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
573 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
574 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
576 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
577 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetNext]);
578 __internal_VirtualMethod ? __internal_VirtualMethod(this->container, this->pointer) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
580 else if(this->container)
581 this->pointer = (__extension__ ({
582 struct __ecereNameSpace__ecere__com__IteratorPointer * (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
584 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
585 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
587 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
588 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst]);
589 __internal_VirtualMethod ? __internal_VirtualMethod(this->container) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
591 return this->pointer != (((void *)0));
594 uint64 __ecereMethod___ecereNameSpace__ecere__com__Iterator_GetData(struct __ecereNameSpace__ecere__com__Iterator * this)
596 return (__extension__ ({
597 uint64 (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
599 __internal_VirtualMethod = ((uint64 (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
600 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
602 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
603 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData]);
604 __internal_VirtualMethod ? __internal_VirtualMethod(this->container, this->pointer) : (uint64)1;
608 unsigned int __ecereMethod___ecereNameSpace__ecere__com__Iterator_SetData(struct __ecereNameSpace__ecere__com__Iterator * this, uint64 value)
610 return (__extension__ ({
611 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer, uint64 data);
613 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer, uint64 data))__extension__ ({
614 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
616 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
617 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_SetData]);
618 __internal_VirtualMethod ? __internal_VirtualMethod(this->container, this->pointer, value) : (unsigned int)1;
622 void __ecereMethod___ecereNameSpace__ecere__com__Iterator_Remove(struct __ecereNameSpace__ecere__com__Iterator * this)
626 void (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it);
628 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it))__extension__ ({
629 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
631 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
632 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Remove]);
633 __internal_VirtualMethod ? __internal_VirtualMethod(this->container, this->pointer) : (void)1;
635 this->pointer = (((void *)0));
638 void __ecereMethod___ecereNameSpace__ecere__com__Iterator_Free(struct __ecereNameSpace__ecere__com__Iterator * this)
642 void (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it);
644 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it))__extension__ ({
645 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
647 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
648 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_FreeIterator]);
649 __internal_VirtualMethod ? __internal_VirtualMethod(this->container, this->pointer) : (void)1;
653 void __ecereDestructor___ecereNameSpace__ecere__com__Container(struct __ecereNameSpace__ecere__com__Instance * this)
657 void (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
659 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
660 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
662 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
663 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_RemoveAll]);
664 __internal_VirtualMethod ? __internal_VirtualMethod(this) : (void)1;
669 void __ecereProp___ecereNameSpace__ecere__com__Container_Set_copySrc(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Instance * value)
673 void (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__Instance * source);
675 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__Instance * source))__extension__ ({
676 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
678 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
679 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Copy]);
680 __internal_VirtualMethod ? __internal_VirtualMethod(this, value) : (void)1;
682 __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecereProp___ecereNameSpace__ecere__com__Container_copySrc), __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecerePropM___ecereNameSpace__ecere__com__Container_copySrc);
685 void __ecereProp___ecereNameSpace__ecere__com__Container_Get_firstIterator(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Iterator * value)
687 struct __ecereNameSpace__ecere__com__Iterator __simpleStruct0;
689 *value = (__simpleStruct0.container = (struct __ecereNameSpace__ecere__com__Instance *)this, __simpleStruct0.pointer = (__extension__ ({
690 struct __ecereNameSpace__ecere__com__IteratorPointer * (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
692 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
693 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
695 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
696 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst]);
697 __internal_VirtualMethod ? __internal_VirtualMethod(this) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
698 })), __simpleStruct0);
701 void __ecereProp___ecereNameSpace__ecere__com__Container_Get_lastIterator(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Iterator * value)
703 struct __ecereNameSpace__ecere__com__Iterator __simpleStruct0;
705 *value = (__simpleStruct0.container = (struct __ecereNameSpace__ecere__com__Instance *)this, __simpleStruct0.pointer = (__extension__ ({
706 struct __ecereNameSpace__ecere__com__IteratorPointer * (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
708 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
709 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
711 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
712 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetLast]);
713 __internal_VirtualMethod ? __internal_VirtualMethod(this) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
714 })), __simpleStruct0);
717 void __ecereMethod___ecereNameSpace__ecere__com__Container_RemoveAll(struct __ecereNameSpace__ecere__com__Instance * this)
719 struct __ecereNameSpace__ecere__com__IteratorPointer * i, * next;
721 for(i = (__extension__ ({
722 struct __ecereNameSpace__ecere__com__IteratorPointer * (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
724 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
725 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
727 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
728 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst]);
729 __internal_VirtualMethod ? __internal_VirtualMethod(this) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
730 })), next = i ? (__extension__ ({
731 struct __ecereNameSpace__ecere__com__IteratorPointer * (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
733 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
734 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
736 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
737 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetNext]);
738 __internal_VirtualMethod ? __internal_VirtualMethod(this, i) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
739 })) : (((void *)0)); i; i = next, next = i ? (__extension__ ({
740 struct __ecereNameSpace__ecere__com__IteratorPointer * (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
742 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
743 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
745 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
746 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetNext]);
747 __internal_VirtualMethod ? __internal_VirtualMethod(this, i) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
750 void (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it);
752 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it))__extension__ ({
753 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
755 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
756 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Remove]);
757 __internal_VirtualMethod ? __internal_VirtualMethod(this, i) : (void)1;
761 void __ecereMethod___ecereNameSpace__ecere__com__Container_Copy(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Instance * source)
763 struct __ecereNameSpace__ecere__com__IteratorPointer * i;
766 void (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
768 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
769 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
771 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
772 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_RemoveAll]);
773 __internal_VirtualMethod ? __internal_VirtualMethod(this) : (void)1;
775 for(i = (__extension__ ({
776 struct __ecereNameSpace__ecere__com__IteratorPointer * (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
778 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
779 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = source;
781 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
782 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst]);
783 __internal_VirtualMethod ? __internal_VirtualMethod(source) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
784 })); i; i = (__extension__ ({
785 struct __ecereNameSpace__ecere__com__IteratorPointer * (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
787 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
788 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = source;
790 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
791 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetNext]);
792 __internal_VirtualMethod ? __internal_VirtualMethod(source, i) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
795 uint64 data = (__extension__ ({
796 uint64 (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
798 __internal_VirtualMethod = ((uint64 (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
799 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = source;
801 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
802 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData]);
803 __internal_VirtualMethod ? __internal_VirtualMethod(source, i) : (uint64)1;
807 struct __ecereNameSpace__ecere__com__IteratorPointer * (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, uint64 value);
809 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, uint64 value))__extension__ ({
810 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
812 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
813 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Add]);
814 __internal_VirtualMethod ? __internal_VirtualMethod(this, data) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
819 int __ecereMethod___ecereNameSpace__ecere__com__Container_OnCompare(struct __ecereNameSpace__ecere__com__Class * class, struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Instance * b)
821 struct __ecereNameSpace__ecere__com__IteratorPointer * ia, * ib;
822 struct __ecereNameSpace__ecere__com__Class * Dclass = class->templateArgs[2].__anon1.__anon1.dataTypeClass;
823 unsigned int byRef = (Dclass->type == 1000 && !Dclass->byValueSystemClass) || Dclass->type == 2 || Dclass->type == 4 || Dclass->type == 3;
824 int (* onCompare)(void *, const void *, const void *) = (void *)Dclass->_vTbl[__ecereVMethodID_class_OnCompare];
833 int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
835 __internal_VirtualMethod = ((int (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
836 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
838 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
839 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetCount]);
840 __internal_VirtualMethod ? __internal_VirtualMethod(this) : (int)1;
841 })) > (__extension__ ({
842 int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
844 __internal_VirtualMethod = ((int (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
845 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = b;
847 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
848 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetCount]);
849 __internal_VirtualMethod ? __internal_VirtualMethod(b) : (int)1;
853 int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
855 __internal_VirtualMethod = ((int (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
856 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
858 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
859 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetCount]);
860 __internal_VirtualMethod ? __internal_VirtualMethod(this) : (int)1;
861 })) < (__extension__ ({
862 int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
864 __internal_VirtualMethod = ((int (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
865 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = b;
867 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
868 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetCount]);
869 __internal_VirtualMethod ? __internal_VirtualMethod(b) : (int)1;
872 ia = (__extension__ ({
873 struct __ecereNameSpace__ecere__com__IteratorPointer * (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
875 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
876 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
878 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
879 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst]);
880 __internal_VirtualMethod ? __internal_VirtualMethod(this) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
882 ib = (__extension__ ({
883 struct __ecereNameSpace__ecere__com__IteratorPointer * (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
885 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
886 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = b;
888 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
889 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst]);
890 __internal_VirtualMethod ? __internal_VirtualMethod(b) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
894 uint64 dataA = (__extension__ ({
895 uint64 (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
897 __internal_VirtualMethod = ((uint64 (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
898 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
900 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
901 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData]);
902 __internal_VirtualMethod ? __internal_VirtualMethod(this, ia) : (uint64)1;
904 uint64 dataB = (__extension__ ({
905 uint64 (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
907 __internal_VirtualMethod = ((uint64 (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
908 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = b;
910 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
911 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData]);
912 __internal_VirtualMethod ? __internal_VirtualMethod(b, ib) : (uint64)1;
914 int r = onCompare(Dclass, byRef ? ((char *)&dataA + __ENDIAN_PAD(class->templateArgs[2].__anon1.__anon1.dataTypeClass->typeSize)) : (const void *)(uintptr_t)dataA, byRef ? ((char *)&dataB + __ENDIAN_PAD(class->templateArgs[2].__anon1.__anon1.dataTypeClass->typeSize)) : (const void *)(uintptr_t)dataB);
918 ia = (__extension__ ({
919 struct __ecereNameSpace__ecere__com__IteratorPointer * (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
921 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
922 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
924 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
925 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetNext]);
926 __internal_VirtualMethod ? __internal_VirtualMethod(this, ia) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
928 ib = (__extension__ ({
929 struct __ecereNameSpace__ecere__com__IteratorPointer * (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
931 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
932 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = b;
934 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
935 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetNext]);
936 __internal_VirtualMethod ? __internal_VirtualMethod(b, ib) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
946 int __ecereMethod___ecereNameSpace__ecere__com__Container_GetCount(struct __ecereNameSpace__ecere__com__Instance * this)
949 struct __ecereNameSpace__ecere__com__IteratorPointer * i;
951 for(i = (__extension__ ({
952 struct __ecereNameSpace__ecere__com__IteratorPointer * (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
954 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
955 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
957 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
958 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst]);
959 __internal_VirtualMethod ? __internal_VirtualMethod(this) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
960 })); i; i = (__extension__ ({
961 struct __ecereNameSpace__ecere__com__IteratorPointer * (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
963 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
964 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
966 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
967 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetNext]);
968 __internal_VirtualMethod ? __internal_VirtualMethod(this, i) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
974 void __ecereMethod___ecereNameSpace__ecere__com__Container_Free(struct __ecereNameSpace__ecere__com__Instance * this)
976 struct __ecereNameSpace__ecere__com__IteratorPointer * i;
978 while((i = (__extension__ ({
979 struct __ecereNameSpace__ecere__com__IteratorPointer * (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
981 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
982 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
984 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
985 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst]);
986 __internal_VirtualMethod ? __internal_VirtualMethod(this) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
989 void (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * i);
991 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * i))__extension__ ({
992 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
994 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
995 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Delete]);
996 __internal_VirtualMethod ? __internal_VirtualMethod(this, i) : (void)1;
1000 const char * __ecereMethod___ecereNameSpace__ecere__com__Container_OnGetString(struct __ecereNameSpace__ecere__com__Class * class, struct __ecereNameSpace__ecere__com__Instance * this, char * tempString, void * fieldData, unsigned int * needClass)
1002 if((struct __ecereNameSpace__ecere__com__Instance *)this)
1004 char itemString[4096];
1005 unsigned int first = 1;
1006 struct __ecereNameSpace__ecere__com__IteratorPointer * i;
1008 tempString[0] = '\0';
1009 for(i = (__extension__ ({
1010 struct __ecereNameSpace__ecere__com__IteratorPointer * (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
1012 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
1013 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1015 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
1016 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst]);
1017 __internal_VirtualMethod ? __internal_VirtualMethod(this) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
1018 })); i; i = (__extension__ ({
1019 struct __ecereNameSpace__ecere__com__IteratorPointer * (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
1021 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
1022 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1024 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
1025 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetNext]);
1026 __internal_VirtualMethod ? __internal_VirtualMethod(this, i) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
1029 struct __ecereNameSpace__ecere__com__Class * Dclass = class->templateArgs[2].__anon1.__anon1.dataTypeClass;
1030 uint64 data = (__extension__ ({
1031 uint64 (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
1033 __internal_VirtualMethod = ((uint64 (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
1034 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1036 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
1037 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData]);
1038 __internal_VirtualMethod ? __internal_VirtualMethod(this, i) : (uint64)1;
1040 const char * result;
1042 itemString[0] = '\0';
1043 result = ((const char * (*)(void *, void *, char *, void *, unsigned int *))(void *)Dclass->_vTbl[__ecereVMethodID_class_OnGetString])(Dclass, ((Dclass->type == 1000 && !Dclass->byValueSystemClass) || Dclass->type == 2 || Dclass->type == 4 || Dclass->type == 3) ? ((char *)&data + __ENDIAN_PAD(class->templateArgs[2].__anon1.__anon1.dataTypeClass->typeSize)) : (void *)(uintptr_t)data, itemString, (((void *)0)), (((void *)0)));
1045 strcat(tempString, ", ");
1046 strcat(tempString, result);
1055 void __ecereMethod___ecereNameSpace__ecere__com__Container_TakeOut(struct __ecereNameSpace__ecere__com__Instance * this, const uint64 d)
1057 struct __ecereNameSpace__ecere__com__IteratorPointer * i = (__extension__ ({
1058 struct __ecereNameSpace__ecere__com__IteratorPointer * (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const uint64 value);
1060 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, const uint64 value))__extension__ ({
1061 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1063 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
1064 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Find]);
1065 __internal_VirtualMethod ? __internal_VirtualMethod(this, d) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
1070 void (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it);
1072 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it))__extension__ ({
1073 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1075 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
1076 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Remove]);
1077 __internal_VirtualMethod ? __internal_VirtualMethod(this, i) : (void)1;
1081 static __attribute__((unused)) void UnusedFunction()
1086 int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Class * , const void * , const void * object);
1088 __internal_VirtualMethod = ((int (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, const void * object))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnCompare]);
1089 __internal_VirtualMethod ? __internal_VirtualMethod(__ecereClass_int, (void *)&a, (((void *)0))) : (int)1;
1092 void (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Class * , const void * , const void * newData);
1094 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, const void * newData))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnCopy]);
1095 __internal_VirtualMethod ? __internal_VirtualMethod(__ecereClass_int, (void *)&a, (((void *)0))) : (void)1;
1098 const char * (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Class * , const void * , char * tempString, void * fieldData, unsigned int * needClass);
1100 __internal_VirtualMethod = ((const char * (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, char * tempString, void * fieldData, unsigned int * needClass))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnGetString]);
1101 __internal_VirtualMethod ? __internal_VirtualMethod(__ecereClass_int, (void *)&a, (((void *)0)), (((void *)0)), (((void *)0))) : (const char * )1;
1104 void (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Class * , const void * , struct __ecereNameSpace__ecere__com__Instance * channel);
1106 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, struct __ecereNameSpace__ecere__com__Instance * channel))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnSerialize]);
1107 __internal_VirtualMethod ? __internal_VirtualMethod(__ecereClass_int, (void *)&a, (((void *)0))) : (void)1;
1110 void (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Class * , const void * , struct __ecereNameSpace__ecere__com__Instance * channel);
1112 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, struct __ecereNameSpace__ecere__com__Instance * channel))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnUnserialize]);
1113 __internal_VirtualMethod ? __internal_VirtualMethod(__ecereClass_int, (void *)&a, (((void *)0))) : (void)1;
1117 void __ecereMethod___ecereNameSpace__ecere__com__Container_OnCopy(struct __ecereNameSpace__ecere__com__Class * class, struct __ecereNameSpace__ecere__com__Instance ** this, struct __ecereNameSpace__ecere__com__Instance * source)
1119 if((struct __ecereNameSpace__ecere__com__Instance *)source)
1121 struct __ecereNameSpace__ecere__com__Instance * container = __ecereNameSpace__ecere__com__eInstance_New(((struct __ecereNameSpace__ecere__com__Instance *)(char *)source)->_class);
1124 void (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__Instance * source);
1126 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__Instance * source))__extension__ ({
1127 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = container;
1129 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
1130 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Copy]);
1131 __internal_VirtualMethod ? __internal_VirtualMethod(container, (struct __ecereNameSpace__ecere__com__Instance *)source) : (void)1;
1133 (*this) = container;
1137 (*this) = (((void *)0));
1141 struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereNameSpace__ecere__com__Container_Find(struct __ecereNameSpace__ecere__com__Instance * this, const uint64 value)
1143 struct __ecereNameSpace__ecere__com__IteratorPointer * i;
1144 struct __ecereNameSpace__ecere__com__Class * Dclass = ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].__anon1.__anon1.dataTypeClass;
1145 unsigned int byRef = (Dclass->type == 1000 && !Dclass->byValueSystemClass) || Dclass->type == 2 || Dclass->type == 4 || Dclass->type == 3;
1146 int (* onCompare)(void *, const void *, const void *) = (void *)Dclass->_vTbl[__ecereVMethodID_class_OnCompare];
1150 for(i = (__extension__ ({
1151 struct __ecereNameSpace__ecere__com__IteratorPointer * (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
1153 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
1154 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1156 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
1157 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst]);
1158 __internal_VirtualMethod ? __internal_VirtualMethod(this) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
1159 })); i; i = (__extension__ ({
1160 struct __ecereNameSpace__ecere__com__IteratorPointer * (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
1162 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
1163 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1165 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
1166 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetNext]);
1167 __internal_VirtualMethod ? __internal_VirtualMethod(this, i) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
1170 uint64 data = (__extension__ ({
1171 uint64 (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
1173 __internal_VirtualMethod = ((uint64 (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
1174 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1176 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
1177 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData]);
1178 __internal_VirtualMethod ? __internal_VirtualMethod(this, i) : (uint64)1;
1180 int result = onCompare(Dclass, ((char *)&value + __ENDIAN_PAD(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].__anon1.__anon1.dataTypeClass->typeSize)), ((char *)&data + __ENDIAN_PAD(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].__anon1.__anon1.dataTypeClass->typeSize)));
1188 for(i = (__extension__ ({
1189 struct __ecereNameSpace__ecere__com__IteratorPointer * (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
1191 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
1192 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1194 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
1195 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst]);
1196 __internal_VirtualMethod ? __internal_VirtualMethod(this) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
1197 })); i; i = (__extension__ ({
1198 struct __ecereNameSpace__ecere__com__IteratorPointer * (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
1200 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
1201 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1203 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
1204 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetNext]);
1205 __internal_VirtualMethod ? __internal_VirtualMethod(this, i) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
1208 uint64 data = (__extension__ ({
1209 uint64 (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
1211 __internal_VirtualMethod = ((uint64 (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
1212 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1214 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
1215 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData]);
1216 __internal_VirtualMethod ? __internal_VirtualMethod(this, i) : (uint64)1;
1218 int result = onCompare(Dclass, (const void *)(uintptr_t)value, (const void *)(uintptr_t)data);
1224 return (((void *)0));
1227 void __ecereMethod___ecereNameSpace__ecere__com__Container_Delete(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__IteratorPointer * i)
1229 uint64 data = (__extension__ ({
1230 uint64 (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
1232 __internal_VirtualMethod = ((uint64 (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
1233 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1235 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
1236 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData]);
1237 __internal_VirtualMethod ? __internal_VirtualMethod(this, i) : (uint64)1;
1240 (((void (* )(void * _class, void * data))((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].__anon1.__anon1.dataTypeClass->_vTbl[__ecereVMethodID_class_OnFree])(((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[2].__anon1.__anon1.dataTypeClass, ((void * )((uintptr_t)(data)))), data = 0);
1242 void (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it);
1244 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it))__extension__ ({
1245 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1247 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
1248 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Remove]);
1249 __internal_VirtualMethod ? __internal_VirtualMethod(this, i) : (void)1;
1253 void __ecereMethod___ecereNameSpace__ecere__com__Container_OnSerialize(struct __ecereNameSpace__ecere__com__Class * class, struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Instance * channel)
1255 unsigned int count = (struct __ecereNameSpace__ecere__com__Instance *)this ? (__extension__ ({
1256 int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
1258 __internal_VirtualMethod = ((int (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
1259 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1261 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
1262 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetCount]);
1263 __internal_VirtualMethod ? __internal_VirtualMethod(this) : (int)1;
1265 struct __ecereNameSpace__ecere__com__IteratorPointer * i;
1266 struct __ecereNameSpace__ecere__com__Class * Dclass = class->templateArgs[2].__anon1.__anon1.dataTypeClass;
1267 unsigned int isNormalClass = (Dclass->type == 0) && Dclass->structSize;
1269 __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Put(channel, __ecereClass_uint, (void *)&count);
1270 if((struct __ecereNameSpace__ecere__com__Instance *)this)
1271 for(i = (__extension__ ({
1272 struct __ecereNameSpace__ecere__com__IteratorPointer * (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
1274 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
1275 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1277 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
1278 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst]);
1279 __internal_VirtualMethod ? __internal_VirtualMethod(this) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
1280 })); i; i = (__extension__ ({
1281 struct __ecereNameSpace__ecere__com__IteratorPointer * (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
1283 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
1284 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1286 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
1287 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetNext]);
1288 __internal_VirtualMethod ? __internal_VirtualMethod(this, i) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
1291 uint64 data = (__extension__ ({
1292 uint64 (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
1294 __internal_VirtualMethod = ((uint64 (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
1295 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1297 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
1298 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData]);
1299 __internal_VirtualMethod ? __internal_VirtualMethod(this, i) : (uint64)1;
1301 struct __ecereNameSpace__ecere__com__Class * Eclass = isNormalClass ? ((struct __ecereNameSpace__ecere__com__Instance *)(char *)((struct __ecereNameSpace__ecere__com__Instance *)((uintptr_t)((uint64)(data)))))->_class : Dclass;
1303 ((void (*)(void *, void *, void *))(void *)Eclass->_vTbl[__ecereVMethodID_class_OnSerialize])(Eclass, ((Dclass->type == 1000 && !Dclass->byValueSystemClass) || Dclass->type == 2 || Dclass->type == 4 || Dclass->type == 3) ? ((char *)&data + __ENDIAN_PAD(class->templateArgs[2].__anon1.__anon1.dataTypeClass->typeSize)) : (void *)(uintptr_t)data, channel);
1307 void __ecereMethod___ecereNameSpace__ecere__com__Container_OnUnserialize(struct __ecereNameSpace__ecere__com__Class * class, struct __ecereNameSpace__ecere__com__Instance ** this, struct __ecereNameSpace__ecere__com__Instance * channel)
1309 struct __ecereNameSpace__ecere__com__Instance * container = __ecereNameSpace__ecere__com__eInstance_New(__ecereProp___ecereNameSpace__ecere__com__Class_Set_char__PTR_(class->fullName));
1310 unsigned int count, c;
1311 struct __ecereNameSpace__ecere__com__Class * Dclass = class->templateArgs[2].__anon1.__anon1.dataTypeClass;
1313 unsigned int isStruct = Dclass->type == 1;
1315 __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Get(channel, __ecereClass_uint, (void *)&count);
1317 data = (uint64)(uintptr_t)(__ecereNameSpace__ecere__com__eSystem_New(sizeof(unsigned char) * (Dclass->structSize)));
1318 for(c = 0; c < count; c++)
1321 memset((char *)(uintptr_t)data, 0, Dclass->structSize);
1324 ((void (*)(void *, void *, void *))(void *)Dclass->_vTbl[__ecereVMethodID_class_OnUnserialize])(Dclass, isStruct ? (void *)(uintptr_t)data : ((char *)&data + __ENDIAN_PAD(class->templateArgs[2].__anon1.__anon1.dataTypeClass->typeSize)), channel);
1326 struct __ecereNameSpace__ecere__com__IteratorPointer * (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, uint64 value);
1328 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, uint64 value))__extension__ ({
1329 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = container;
1331 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
1332 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Add]);
1333 __internal_VirtualMethod ? __internal_VirtualMethod(container, data) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
1337 (__ecereNameSpace__ecere__com__eSystem_Delete((void *)(uintptr_t)data), data = 0);
1338 (*this) = container;
1341 void __ecereUnregisterModule_Container(struct __ecereNameSpace__ecere__com__Instance * module)
1344 __ecerePropM___ecereNameSpace__ecere__com__Iterator_data = (void *)0;
1345 __ecerePropM___ecereNameSpace__ecere__com__Container_copySrc = (void *)0;
1346 __ecerePropM___ecereNameSpace__ecere__com__Container_firstIterator = (void *)0;
1347 __ecerePropM___ecereNameSpace__ecere__com__Container_lastIterator = (void *)0;
1350 unsigned int __ecereMethod___ecereNameSpace__ecere__com__Iterator_Find(struct __ecereNameSpace__ecere__com__Iterator * this, const uint64 value)
1354 __ecereMethod___ecereNameSpace__ecere__com__Iterator_Free(this);
1355 this->pointer = (__extension__ ({
1356 struct __ecereNameSpace__ecere__com__IteratorPointer * (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const uint64 value);
1358 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, const uint64 value))__extension__ ({
1359 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
1361 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
1362 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Find]);
1363 __internal_VirtualMethod ? __internal_VirtualMethod(this->container, value) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
1366 return this->pointer != (((void *)0));
1369 unsigned int __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(struct __ecereNameSpace__ecere__com__Iterator * this, const uint64 index, unsigned int create)
1373 unsigned int justAdded = 0;
1375 __ecereMethod___ecereNameSpace__ecere__com__Iterator_Free(this);
1376 this->pointer = (__extension__ ({
1377 struct __ecereNameSpace__ecere__com__IteratorPointer * (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const uint64 pos, unsigned int create, unsigned int * justAdded);
1379 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, const uint64 pos, unsigned int create, unsigned int * justAdded))__extension__ ({
1380 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
1382 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
1383 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetAtPosition]);
1384 __internal_VirtualMethod ? __internal_VirtualMethod(this->container, index, create, &justAdded) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
1386 return !justAdded && this->pointer != (((void *)0));
1391 static void __ecereMethod___ecereNameSpace__ecere__com__Container__Sort(struct __ecereNameSpace__ecere__com__Instance * this, unsigned int ascending, struct __ecereNameSpace__ecere__com__Instance * * lists);
1393 static void __ecereMethod___ecereNameSpace__ecere__com__Container__Sort(struct __ecereNameSpace__ecere__com__Instance * this, unsigned int ascending, struct __ecereNameSpace__ecere__com__Instance ** lists)
1395 int count = (__extension__ ({
1396 int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
1398 __internal_VirtualMethod = ((int (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
1399 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1401 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
1402 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetCount]);
1403 __internal_VirtualMethod ? __internal_VirtualMethod(this) : (int)1;
1406 if(count >= 2 && ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[1].__anon1.__anon1.dataTypeClass == __ecereClass_int)
1408 struct __ecereNameSpace__ecere__com__Iterator __simpleStruct1 =
1412 struct __ecereNameSpace__ecere__com__Iterator __simpleStruct0 =
1416 struct __ecereNameSpace__ecere__com__Iterator a =
1420 struct __ecereNameSpace__ecere__com__Iterator b =
1424 struct __ecereNameSpace__ecere__com__Iterator mid =
1428 struct __ecereNameSpace__ecere__com__Class * Dclass = ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].__anon1.__anon1.dataTypeClass;
1429 unsigned int byRef = (Dclass->type == 1000 && !Dclass->byValueSystemClass) || Dclass->type == 2 || Dclass->type == 4 || Dclass->type == 3;
1430 int (* onCompare)(void *, const void *, const void *) = (void *)Dclass->_vTbl[__ecereVMethodID_class_OnCompare];
1431 struct __ecereNameSpace__ecere__com__Instance * listA = lists[0];
1432 struct __ecereNameSpace__ecere__com__Instance * listB = lists[1];
1434 __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(&mid, (uint64)(count / 2 - 1), 0);
1435 while(__ecereMethod___ecereNameSpace__ecere__com__Iterator_Next(&a))
1438 struct __ecereNameSpace__ecere__com__IteratorPointer * (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, uint64 value);
1440 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, uint64 value))__extension__ ({
1441 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = listA;
1443 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
1444 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Add]);
1445 __internal_VirtualMethod ? __internal_VirtualMethod(listA, __ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data(&a)) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
1447 if(a.pointer == mid.pointer)
1450 b.pointer = mid.pointer;
1451 while(__ecereMethod___ecereNameSpace__ecere__com__Iterator_Next(&b))
1453 struct __ecereNameSpace__ecere__com__IteratorPointer * (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, uint64 value);
1455 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, uint64 value))__extension__ ({
1456 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = listB;
1458 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
1459 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Add]);
1460 __internal_VirtualMethod ? __internal_VirtualMethod(listB, __ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data(&b)) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
1463 void (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
1465 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
1466 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1468 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
1469 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_RemoveAll]);
1470 __internal_VirtualMethod ? __internal_VirtualMethod(this) : (void)1;
1472 __ecereMethod___ecereNameSpace__ecere__com__Container__Sort(listA, ascending, lists + 2);
1473 __ecereMethod___ecereNameSpace__ecere__com__Container__Sort(listB, ascending, lists + 2);
1474 a = (__simpleStruct0.container = listA, __simpleStruct0);
1475 b = (__simpleStruct1.container = listB, __simpleStruct1);
1476 __ecereMethod___ecereNameSpace__ecere__com__Iterator_Next(&a);
1477 __ecereMethod___ecereNameSpace__ecere__com__Iterator_Next(&b);
1478 while(a.pointer || b.pointer)
1482 if(a.pointer && b.pointer)
1484 uint64 dataA = __ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data(&a), dataB = __ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data(&b);
1486 r = onCompare(Dclass, byRef ? ((char *)&dataA + __ENDIAN_PAD(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].__anon1.__anon1.dataTypeClass->typeSize)) : (const void *)(uintptr_t)dataA, byRef ? ((char *)&dataB + __ENDIAN_PAD(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].__anon1.__anon1.dataTypeClass->typeSize)) : (const void *)(uintptr_t)dataB);
1497 struct __ecereNameSpace__ecere__com__IteratorPointer * (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, uint64 value);
1499 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, uint64 value))__extension__ ({
1500 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1502 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
1503 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Add]);
1504 __internal_VirtualMethod ? __internal_VirtualMethod(this, __ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data(&a)) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
1506 __ecereMethod___ecereNameSpace__ecere__com__Iterator_Next(&a);
1511 struct __ecereNameSpace__ecere__com__IteratorPointer * (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, uint64 value);
1513 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, uint64 value))__extension__ ({
1514 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1516 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
1517 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Add]);
1518 __internal_VirtualMethod ? __internal_VirtualMethod(this, __ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data(&b)) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
1520 __ecereMethod___ecereNameSpace__ecere__com__Iterator_Next(&b);
1524 void (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
1526 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
1527 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = listA;
1529 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
1530 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_RemoveAll]);
1531 __internal_VirtualMethod ? __internal_VirtualMethod(listA) : (void)1;
1534 void (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
1536 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
1537 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = listB;
1539 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
1540 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_RemoveAll]);
1541 __internal_VirtualMethod ? __internal_VirtualMethod(listB) : (void)1;
1546 void __ecereMethod___ecereNameSpace__ecere__com__Container_Sort(struct __ecereNameSpace__ecere__com__Instance * this, unsigned int ascending)
1548 int i, numLists = __ecereNameSpace__ecere__com__log2i((__extension__ ({
1549 int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
1551 __internal_VirtualMethod = ((int (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
1552 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1554 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
1555 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetCount]);
1556 __internal_VirtualMethod ? __internal_VirtualMethod(this) : (int)1;
1558 struct __ecereNameSpace__ecere__com__Instance ** lists = __ecereNameSpace__ecere__com__eSystem_New(sizeof(struct __ecereNameSpace__ecere__com__Instance *) * (numLists));
1560 for(i = 0; i < numLists; i++)
1561 lists[i] = __ecereNameSpace__ecere__com__eInstance_New(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class);
1562 __ecereMethod___ecereNameSpace__ecere__com__Container__Sort(this, ascending, lists);
1563 for(i = 0; i < numLists; i++)
1564 (__ecereNameSpace__ecere__com__eInstance_DecRef(lists[i]), lists[i] = 0);
1565 (__ecereNameSpace__ecere__com__eSystem_Delete(lists), lists = 0);
1568 void __ecereRegisterModule_Container(struct __ecereNameSpace__ecere__com__Instance * module)
1570 struct __ecereNameSpace__ecere__com__ClassTemplateArgument __simpleStruct2 =
1576 .dataTypeString = "T"
1580 struct __ecereNameSpace__ecere__com__ClassTemplateArgument __simpleStruct1 =
1586 .dataTypeString = "int"
1590 struct __ecereNameSpace__ecere__com__ClassTemplateArgument __simpleStruct0 =
1596 .dataTypeString = "int"
1600 struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
1602 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(1, "ecere::com::Iterator", 0, sizeof(struct __ecereNameSpace__ecere__com__Iterator), 0, (void *)0, (void *)0, module, 4, 1);
1603 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application && class)
1604 __ecereClass___ecereNameSpace__ecere__com__Iterator = class;
1605 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Find", "bool Find(const T value)", __ecereMethod___ecereNameSpace__ecere__com__Iterator_Find, 1);
1606 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Free", "void Free()", __ecereMethod___ecereNameSpace__ecere__com__Iterator_Free, 1);
1607 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "GetData", "T GetData()", __ecereMethod___ecereNameSpace__ecere__com__Iterator_GetData, 1);
1608 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Index", "bool Index(const IT index, bool create)", __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index, 1);
1609 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Next", "bool Next()", __ecereMethod___ecereNameSpace__ecere__com__Iterator_Next, 1);
1610 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Prev", "bool Prev()", __ecereMethod___ecereNameSpace__ecere__com__Iterator_Prev, 1);
1611 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Remove", "void Remove()", __ecereMethod___ecereNameSpace__ecere__com__Iterator_Remove, 1);
1612 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "SetData", "bool SetData(T value)", __ecereMethod___ecereNameSpace__ecere__com__Iterator_SetData, 1);
1613 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "container", "ecere::com::Container<T, IT>", sizeof(void *), 0xF000F000, 1);
1614 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "pointer", "ecere::com::IteratorPointer", sizeof(void *), 0xF000F000, 1);
1615 __ecerePropM___ecereNameSpace__ecere__com__Iterator_data = __ecereNameSpace__ecere__com__eClass_AddProperty(class, "data", "T", __ecereProp___ecereNameSpace__ecere__com__Iterator_Set_data, __ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data, 1);
1616 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application)
1617 __ecereProp___ecereNameSpace__ecere__com__Iterator_data = __ecerePropM___ecereNameSpace__ecere__com__Iterator_data, __ecerePropM___ecereNameSpace__ecere__com__Iterator_data = (void *)0;
1618 __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(class, "T", 0, 0, (((void *)0)));
1619 __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(class, "IT", 0, 0, &__simpleStruct0);
1620 __ecereNameSpace__ecere__com__eClass_DoneAddingTemplateParameters(class);
1621 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "ecere::com::Container", 0, 0, 0, (void *)0, (void *)__ecereDestructor___ecereNameSpace__ecere__com__Container, module, 4, 1);
1622 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application && class)
1623 __ecereClass___ecereNameSpace__ecere__com__Container = class;
1624 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnCompare", 0, __ecereMethod___ecereNameSpace__ecere__com__Container_OnCompare, 1);
1625 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnCopy", 0, __ecereMethod___ecereNameSpace__ecere__com__Container_OnCopy, 1);
1626 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnFree", 0, __ecereMethod___ecereNameSpace__ecere__com__Container_OnFree, 1);
1627 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnGetString", 0, __ecereMethod___ecereNameSpace__ecere__com__Container_OnGetString, 1);
1628 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnSerialize", 0, __ecereMethod___ecereNameSpace__ecere__com__Container_OnSerialize, 1);
1629 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnUnserialize", 0, __ecereMethod___ecereNameSpace__ecere__com__Container_OnUnserialize, 1);
1630 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetFirst", "ecere::com::IteratorPointer GetFirst()", __ecereMethod___ecereNameSpace__ecere__com__Container_GetFirst, 1);
1631 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetLast", "ecere::com::IteratorPointer GetLast()", __ecereMethod___ecereNameSpace__ecere__com__Container_GetLast, 1);
1632 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetPrev", "ecere::com::IteratorPointer GetPrev(ecere::com::IteratorPointer pointer)", __ecereMethod___ecereNameSpace__ecere__com__Container_GetPrev, 1);
1633 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetNext", "ecere::com::IteratorPointer GetNext(ecere::com::IteratorPointer pointer)", __ecereMethod___ecereNameSpace__ecere__com__Container_GetNext, 1);
1634 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetData", "D GetData(ecere::com::IteratorPointer pointer)", __ecereMethod___ecereNameSpace__ecere__com__Container_GetData, 1);
1635 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "SetData", "bool SetData(ecere::com::IteratorPointer pointer, D data)", 0, 1);
1636 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetAtPosition", "ecere::com::IteratorPointer GetAtPosition(const I pos, bool create, bool * justAdded)", __ecereMethod___ecereNameSpace__ecere__com__Container_GetAtPosition, 1);
1637 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Insert", "ecere::com::IteratorPointer Insert(ecere::com::IteratorPointer after, T value)", 0, 1);
1638 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Add", "ecere::com::IteratorPointer Add(T value)", 0, 1);
1639 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Remove", "void Remove(ecere::com::IteratorPointer it)", 0, 1);
1640 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Move", "void Move(ecere::com::IteratorPointer it, ecere::com::IteratorPointer after)", 0, 1);
1641 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "RemoveAll", "void RemoveAll()", __ecereMethod___ecereNameSpace__ecere__com__Container_RemoveAll, 1);
1642 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Copy", "void Copy(ecere::com::Container<T> source)", __ecereMethod___ecereNameSpace__ecere__com__Container_Copy, 1);
1643 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Find", "ecere::com::IteratorPointer Find(const D value)", __ecereMethod___ecereNameSpace__ecere__com__Container_Find, 1);
1644 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "FreeIterator", "void FreeIterator(ecere::com::IteratorPointer it)", 0, 1);
1645 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetCount", "int GetCount()", __ecereMethod___ecereNameSpace__ecere__com__Container_GetCount, 1);
1646 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Free", "void Free()", __ecereMethod___ecereNameSpace__ecere__com__Container_Free, 1);
1647 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Delete", "void Delete(ecere::com::IteratorPointer i)", __ecereMethod___ecereNameSpace__ecere__com__Container_Delete, 1);
1648 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Sort", "void Sort(bool ascending)", __ecereMethod___ecereNameSpace__ecere__com__Container_Sort, 1);
1649 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "TakeOut", "void TakeOut(const D d)", __ecereMethod___ecereNameSpace__ecere__com__Container_TakeOut, 1);
1650 __ecerePropM___ecereNameSpace__ecere__com__Container_copySrc = __ecereNameSpace__ecere__com__eClass_AddProperty(class, "copySrc", "ecere::com::Container<T>", __ecereProp___ecereNameSpace__ecere__com__Container_Set_copySrc, 0, 1);
1651 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application)
1652 __ecereProp___ecereNameSpace__ecere__com__Container_copySrc = __ecerePropM___ecereNameSpace__ecere__com__Container_copySrc, __ecerePropM___ecereNameSpace__ecere__com__Container_copySrc = (void *)0;
1653 __ecerePropM___ecereNameSpace__ecere__com__Container_firstIterator = __ecereNameSpace__ecere__com__eClass_AddProperty(class, "firstIterator", "ecere::com::Iterator<T>", 0, __ecereProp___ecereNameSpace__ecere__com__Container_Get_firstIterator, 1);
1654 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application)
1655 __ecereProp___ecereNameSpace__ecere__com__Container_firstIterator = __ecerePropM___ecereNameSpace__ecere__com__Container_firstIterator, __ecerePropM___ecereNameSpace__ecere__com__Container_firstIterator = (void *)0;
1656 __ecerePropM___ecereNameSpace__ecere__com__Container_lastIterator = __ecereNameSpace__ecere__com__eClass_AddProperty(class, "lastIterator", "ecere::com::Iterator<T>", 0, __ecereProp___ecereNameSpace__ecere__com__Container_Get_lastIterator, 1);
1657 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application)
1658 __ecereProp___ecereNameSpace__ecere__com__Container_lastIterator = __ecerePropM___ecereNameSpace__ecere__com__Container_lastIterator, __ecerePropM___ecereNameSpace__ecere__com__Container_lastIterator = (void *)0;
1659 __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(class, "T", 0, 0, (((void *)0)));
1660 __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(class, "I", 0, 0, &__simpleStruct1);
1661 __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(class, "D", 0, 0, &__simpleStruct2);
1662 __ecereNameSpace__ecere__com__eClass_DoneAddingTemplateParameters(class);
1664 class->fixed = (unsigned int)1;