compiler/libec; ecere; ide: Safer default virtual method calls
[sdk] / compiler / bootstrap / ecere / bootstrap / Container.c
1 /* Code generated from eC source file: Container.ec */
2 #if defined(_WIN32)
3 #define __runtimePlatform 1
4 #elif defined(__APPLE__)
5 #define __runtimePlatform 3
6 #else
7 #define __runtimePlatform 2
8 #endif
9 #if defined(__GNUC__)
10 typedef long long int64;
11 typedef unsigned long long uint64;
12 #ifndef _WIN32
13 #define __declspec(x)
14 #endif
15 #elif defined(__TINYC__)
16 #include <stdarg.h>
17 #define __builtin_va_list va_list
18 #define __builtin_va_start va_start
19 #define __builtin_va_end va_end
20 #ifdef _WIN32
21 #define strcasecmp stricmp
22 #define strncasecmp strnicmp
23 #define __declspec(x) __attribute__((x))
24 #else
25 #define __declspec(x)
26 #endif
27 typedef long long int64;
28 typedef unsigned long long uint64;
29 #else
30 typedef __int64 int64;
31 typedef unsigned __int64 uint64;
32 #endif
33 #ifdef __BIG_ENDIAN__
34 #define __ENDIAN_PAD(x) (8 - (x))
35 #else
36 #define __ENDIAN_PAD(x) 0
37 #endif
38 #if defined(_WIN32)
39 #   if defined(__GNUC__) || defined(__TINYC__)
40 #      define ecere_stdcall __attribute__((__stdcall__))
41 #      define ecere_gcc_struct __attribute__((gcc_struct))
42 #   else
43 #      define ecere_stdcall __stdcall
44 #      define ecere_gcc_struct
45 #   endif
46 #else
47 #   define ecere_stdcall
48 #   define ecere_gcc_struct
49 #endif
50 #include <stdint.h>
51 #include <sys/types.h>
52 extern int __ecereVMethodID_class_OnCompare;
53
54 extern int __ecereVMethodID_class_OnGetString;
55
56 extern int __ecereVMethodID_class_OnSerialize;
57
58 extern int __ecereVMethodID_class_OnUnserialize;
59
60 extern struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__com__Class_char__PTR_;
61
62 struct __ecereNameSpace__ecere__sys__BTNode;
63
64 struct __ecereNameSpace__ecere__sys__OldList
65 {
66 void *  first;
67 void *  last;
68 int count;
69 unsigned int offset;
70 unsigned int circ;
71 } ecere_gcc_struct;
72
73 struct __ecereNameSpace__ecere__com__DataValue
74 {
75 union
76 {
77 char c;
78 unsigned char uc;
79 short s;
80 unsigned short us;
81 int i;
82 unsigned int ui;
83 void *  p;
84 float f;
85 double d;
86 long long i64;
87 uint64 ui64;
88 } ecere_gcc_struct __anon1;
89 } ecere_gcc_struct;
90
91 struct __ecereNameSpace__ecere__com__IteratorPointer;
92
93 struct __ecereNameSpace__ecere__com__SerialBuffer
94 {
95 unsigned char *  _buffer;
96 unsigned int count;
97 unsigned int _size;
98 unsigned int pos;
99 } ecere_gcc_struct;
100
101 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
102
103 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
104
105 extern void *  __ecereNameSpace__ecere__com__eSystem_Renew(void *  memory, unsigned int size);
106
107 extern void *  __ecereNameSpace__ecere__com__eSystem_Renew0(void *  memory, unsigned int size);
108
109 extern void __ecereNameSpace__ecere__com__eSystem_Delete(void *  memory);
110
111 extern char *  strcat(char * , const char * );
112
113 extern void *  memset(void *  area, int value, size_t count);
114
115 struct __ecereNameSpace__ecere__com__ClassTemplateParameter;
116
117 int __ecereVMethodID_class_OnCompare;
118
119 int __ecereVMethodID_class_OnCopy;
120
121 int __ecereVMethodID_class_OnGetString;
122
123 int __ecereVMethodID_class_OnFree;
124
125 struct __ecereNameSpace__ecere__com__Property;
126
127 extern void __ecereNameSpace__ecere__com__eInstance_Watch(void *  instance, struct __ecereNameSpace__ecere__com__Property * _property, void *  object, void (*  callback)(void * , void * ));
128
129 static __attribute__((unused)) struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__com__Iterator_data, * __ecerePropM___ecereNameSpace__ecere__com__Iterator_data;
130
131 static __attribute__((unused)) struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__com__Container_copySrc, * __ecerePropM___ecereNameSpace__ecere__com__Container_copySrc;
132
133 static __attribute__((unused)) struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__com__Container_firstIterator, * __ecerePropM___ecereNameSpace__ecere__com__Container_firstIterator;
134
135 static __attribute__((unused)) struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__com__Container_lastIterator, * __ecerePropM___ecereNameSpace__ecere__com__Container_lastIterator;
136
137 struct __ecereNameSpace__ecere__com__Class;
138
139 struct __ecereNameSpace__ecere__com__Instance
140 {
141 void * *  _vTbl;
142 struct __ecereNameSpace__ecere__com__Class * _class;
143 int _refCount;
144 } ecere_gcc_struct;
145
146 extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
147
148 extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
149
150 extern void *  __ecereNameSpace__ecere__com__eInstance_New(struct __ecereNameSpace__ecere__com__Class * _class);
151
152 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);
153
154 extern void __ecereNameSpace__ecere__com__eClass_DoneAddingTemplateParameters(struct __ecereNameSpace__ecere__com__Class * base);
155
156 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst;
157
158 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_GetLast;
159
160 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_GetPrev;
161
162 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_GetNext;
163
164 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData;
165
166 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_SetData;
167
168 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_GetAtPosition;
169
170 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Insert;
171
172 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Add;
173
174 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Remove;
175
176 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Move;
177
178 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_RemoveAll;
179
180 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Copy;
181
182 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Find;
183
184 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_FreeIterator;
185
186 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_GetCount;
187
188 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Free;
189
190 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Delete;
191
192 struct __ecereNameSpace__ecere__com__Property
193 {
194 struct __ecereNameSpace__ecere__com__Property * prev;
195 struct __ecereNameSpace__ecere__com__Property * next;
196 const char *  name;
197 unsigned int isProperty;
198 int memberAccess;
199 int id;
200 struct __ecereNameSpace__ecere__com__Class * _class;
201 const char *  dataTypeString;
202 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
203 struct __ecereNameSpace__ecere__com__Instance * dataType;
204 void (*  Set)(void * , int);
205 int (*  Get)(void * );
206 unsigned int (*  IsSet)(void * );
207 void *  data;
208 void *  symbol;
209 int vid;
210 unsigned int conversion;
211 unsigned int watcherOffset;
212 const char *  category;
213 unsigned int compiled;
214 unsigned int selfWatchable;
215 unsigned int isWatchable;
216 } ecere_gcc_struct;
217
218 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
219
220 extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
221
222 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
223
224 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);
225
226 extern void __ecereNameSpace__ecere__com__eInstance_FireWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
227
228 struct __ecereNameSpace__ecere__com__Iterator
229 {
230 struct __ecereNameSpace__ecere__com__Instance * container;
231 struct __ecereNameSpace__ecere__com__IteratorPointer * pointer;
232 } ecere_gcc_struct;
233
234 void __ecereProp___ecereNameSpace__ecere__com__Container_Set_copySrc(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Instance * value);
235
236 struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereNameSpace__ecere__com__Container_GetFirst(struct __ecereNameSpace__ecere__com__Instance * this)
237 {
238 return (((void *)0));
239 }
240
241 struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereNameSpace__ecere__com__Container_GetLast(struct __ecereNameSpace__ecere__com__Instance * this)
242 {
243 return (((void *)0));
244 }
245
246 struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereNameSpace__ecere__com__Container_GetPrev(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer)
247 {
248 return (((void *)0));
249 }
250
251 struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereNameSpace__ecere__com__Container_GetNext(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer)
252 {
253 return (((void *)0));
254 }
255
256 uint64 __ecereMethod___ecereNameSpace__ecere__com__Container_GetData(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer)
257 {
258 return (uint64)0;
259 }
260
261 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)
262 {
263 return (((void *)0));
264 }
265
266 int __ecereVMethodID_class_OnSerialize;
267
268 int __ecereVMethodID_class_OnUnserialize;
269
270 extern void __ecereNameSpace__ecere__com__eInstance_DecRef(struct __ecereNameSpace__ecere__com__Instance * instance);
271
272 void __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Put(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Class * class, const void * data);
273
274 void __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Get(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Class * class, void * *  data);
275
276 struct __ecereNameSpace__ecere__sys__BinaryTree;
277
278 struct __ecereNameSpace__ecere__sys__BinaryTree
279 {
280 struct __ecereNameSpace__ecere__sys__BTNode * root;
281 int count;
282 int (*  CompareKey)(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, uintptr_t a, uintptr_t b);
283 void (*  FreeKey)(void *  key);
284 } ecere_gcc_struct;
285
286 struct __ecereNameSpace__ecere__com__DataMember;
287
288 struct __ecereNameSpace__ecere__com__DataMember
289 {
290 struct __ecereNameSpace__ecere__com__DataMember * prev;
291 struct __ecereNameSpace__ecere__com__DataMember * next;
292 const char *  name;
293 unsigned int isProperty;
294 int memberAccess;
295 int id;
296 struct __ecereNameSpace__ecere__com__Class * _class;
297 const char *  dataTypeString;
298 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
299 struct __ecereNameSpace__ecere__com__Instance * dataType;
300 int type;
301 int offset;
302 int memberID;
303 struct __ecereNameSpace__ecere__sys__OldList members;
304 struct __ecereNameSpace__ecere__sys__BinaryTree membersAlpha;
305 int memberOffset;
306 short structAlignment;
307 short pointerAlignment;
308 } ecere_gcc_struct;
309
310 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);
311
312 struct __ecereNameSpace__ecere__com__Method;
313
314 struct __ecereNameSpace__ecere__com__ClassTemplateArgument
315 {
316 union
317 {
318 struct
319 {
320 const char *  dataTypeString;
321 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
322 } ecere_gcc_struct __anon1;
323 struct __ecereNameSpace__ecere__com__DataValue expression;
324 struct
325 {
326 const char *  memberString;
327 union
328 {
329 struct __ecereNameSpace__ecere__com__DataMember * member;
330 struct __ecereNameSpace__ecere__com__Property * prop;
331 struct __ecereNameSpace__ecere__com__Method * method;
332 } ecere_gcc_struct __anon1;
333 } ecere_gcc_struct __anon2;
334 } ecere_gcc_struct __anon1;
335 } ecere_gcc_struct;
336
337 struct __ecereNameSpace__ecere__com__Method
338 {
339 const char *  name;
340 struct __ecereNameSpace__ecere__com__Method * parent;
341 struct __ecereNameSpace__ecere__com__Method * left;
342 struct __ecereNameSpace__ecere__com__Method * right;
343 int depth;
344 int (*  function)();
345 int vid;
346 int type;
347 struct __ecereNameSpace__ecere__com__Class * _class;
348 void *  symbol;
349 const char *  dataTypeString;
350 struct __ecereNameSpace__ecere__com__Instance * dataType;
351 int memberAccess;
352 } ecere_gcc_struct;
353
354 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);
355
356 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);
357
358 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);
359
360 struct __ecereNameSpace__ecere__com__Module;
361
362 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);
363
364 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
365
366 struct __ecereNameSpace__ecere__com__NameSpace;
367
368 struct __ecereNameSpace__ecere__com__NameSpace
369 {
370 const char *  name;
371 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
372 struct __ecereNameSpace__ecere__com__NameSpace *  left;
373 struct __ecereNameSpace__ecere__com__NameSpace *  right;
374 int depth;
375 struct __ecereNameSpace__ecere__com__NameSpace *  parent;
376 struct __ecereNameSpace__ecere__sys__BinaryTree nameSpaces;
377 struct __ecereNameSpace__ecere__sys__BinaryTree classes;
378 struct __ecereNameSpace__ecere__sys__BinaryTree defines;
379 struct __ecereNameSpace__ecere__sys__BinaryTree functions;
380 } ecere_gcc_struct;
381
382 struct __ecereNameSpace__ecere__com__Class
383 {
384 struct __ecereNameSpace__ecere__com__Class * prev;
385 struct __ecereNameSpace__ecere__com__Class * next;
386 const char *  name;
387 int offset;
388 int structSize;
389 void * *  _vTbl;
390 int vTblSize;
391 unsigned int (*  Constructor)(void * );
392 void (*  Destructor)(void * );
393 int offsetClass;
394 int sizeClass;
395 struct __ecereNameSpace__ecere__com__Class * base;
396 struct __ecereNameSpace__ecere__sys__BinaryTree methods;
397 struct __ecereNameSpace__ecere__sys__BinaryTree members;
398 struct __ecereNameSpace__ecere__sys__BinaryTree prop;
399 struct __ecereNameSpace__ecere__sys__OldList membersAndProperties;
400 struct __ecereNameSpace__ecere__sys__BinaryTree classProperties;
401 struct __ecereNameSpace__ecere__sys__OldList derivatives;
402 int memberID;
403 int startMemberID;
404 int type;
405 struct __ecereNameSpace__ecere__com__Instance * module;
406 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
407 const char *  dataTypeString;
408 struct __ecereNameSpace__ecere__com__Instance * dataType;
409 int typeSize;
410 int defaultAlignment;
411 void (*  Initialize)();
412 int memberOffset;
413 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
414 const char *  designerClass;
415 unsigned int noExpansion;
416 const char *  defaultProperty;
417 unsigned int comRedefinition;
418 int count;
419 int isRemote;
420 unsigned int internalDecl;
421 void *  data;
422 unsigned int computeSize;
423 short structAlignment;
424 short pointerAlignment;
425 int destructionWatchOffset;
426 unsigned int fixed;
427 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
428 int inheritanceAccess;
429 const char *  fullName;
430 void *  symbol;
431 struct __ecereNameSpace__ecere__sys__OldList conversions;
432 struct __ecereNameSpace__ecere__sys__OldList templateParams;
433 struct __ecereNameSpace__ecere__com__ClassTemplateArgument *  templateArgs;
434 struct __ecereNameSpace__ecere__com__Class * templateClass;
435 struct __ecereNameSpace__ecere__sys__OldList templatized;
436 int numParams;
437 unsigned int isInstanceClass;
438 unsigned int byValueSystemClass;
439 } ecere_gcc_struct;
440
441 struct __ecereNameSpace__ecere__com__Application
442 {
443 int argc;
444 const char * *  argv;
445 int exitCode;
446 unsigned int isGUIApp;
447 struct __ecereNameSpace__ecere__sys__OldList allModules;
448 char *  parsedCommand;
449 struct __ecereNameSpace__ecere__com__NameSpace systemNameSpace;
450 } ecere_gcc_struct;
451
452 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Iterator;
453
454 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Container;
455
456 void __ecereMethod___ecereNameSpace__ecere__com__Container_OnFree(struct __ecereNameSpace__ecere__com__Class * class, struct __ecereNameSpace__ecere__com__Instance * this)
457 {
458 if((struct __ecereNameSpace__ecere__com__Instance *)this)
459 {
460 (__extension__ ({
461 void (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
462
463 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
464 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
465
466 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
467 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Free]);
468 __internal_VirtualMethod ? __internal_VirtualMethod(this) : (void)1;
469 }));
470 (__ecereNameSpace__ecere__com__eInstance_DecRef(this), this = 0);
471 }
472 }
473
474 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_int;
475
476 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Instance;
477
478 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_uint;
479
480 const char *  __ecereProp___ecereNameSpace__ecere__com__Class_Get_char__PTR_(struct __ecereNameSpace__ecere__com__Class * this);
481
482 struct __ecereNameSpace__ecere__com__Class * __ecereProp___ecereNameSpace__ecere__com__Class_Set_char__PTR_(const char *  value);
483
484 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Module;
485
486 struct __ecereNameSpace__ecere__com__Module
487 {
488 struct __ecereNameSpace__ecere__com__Instance * application;
489 struct __ecereNameSpace__ecere__sys__OldList classes;
490 struct __ecereNameSpace__ecere__sys__OldList defines;
491 struct __ecereNameSpace__ecere__sys__OldList functions;
492 struct __ecereNameSpace__ecere__sys__OldList modules;
493 struct __ecereNameSpace__ecere__com__Instance * prev;
494 struct __ecereNameSpace__ecere__com__Instance * next;
495 const char *  name;
496 void *  library;
497 void *  Unload;
498 int importType;
499 int origImportType;
500 struct __ecereNameSpace__ecere__com__NameSpace privateNameSpace;
501 struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
502 } ecere_gcc_struct;
503
504 uint64 __ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data(struct __ecereNameSpace__ecere__com__Iterator * this)
505 {
506 return (__extension__ ({
507 uint64 (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
508
509 __internal_VirtualMethod = ((uint64 (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
510 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
511
512 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
513 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData]);
514 __internal_VirtualMethod ? __internal_VirtualMethod(this->container, this->pointer) : (uint64)1;
515 }));
516 }
517
518 void __ecereProp___ecereNameSpace__ecere__com__Iterator_Set_data(struct __ecereNameSpace__ecere__com__Iterator * this, uint64 value)
519 {
520 (__extension__ ({
521 unsigned int (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer, uint64 data);
522
523 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer, uint64 data))__extension__ ({
524 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
525
526 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
527 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_SetData]);
528 __internal_VirtualMethod ? __internal_VirtualMethod(this->container, this->pointer, value) : (unsigned int)1;
529 }));
530 }
531
532 unsigned int __ecereMethod___ecereNameSpace__ecere__com__Iterator_Prev(struct __ecereNameSpace__ecere__com__Iterator * this)
533 {
534 if(this->pointer && this->container)
535 this->pointer = (__extension__ ({
536 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
537
538 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
539 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
540
541 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
542 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetPrev]);
543 __internal_VirtualMethod ? __internal_VirtualMethod(this->container, this->pointer) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
544 }));
545 else if(this->container)
546 this->pointer = (__extension__ ({
547 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
548
549 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
550 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
551
552 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
553 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetLast]);
554 __internal_VirtualMethod ? __internal_VirtualMethod(this->container) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
555 }));
556 return this->pointer != (((void *)0));
557 }
558
559 unsigned int __ecereMethod___ecereNameSpace__ecere__com__Iterator_Next(struct __ecereNameSpace__ecere__com__Iterator * this)
560 {
561 if(this->pointer && this->container)
562 this->pointer = (__extension__ ({
563 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
564
565 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
566 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
567
568 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
569 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetNext]);
570 __internal_VirtualMethod ? __internal_VirtualMethod(this->container, this->pointer) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
571 }));
572 else if(this->container)
573 this->pointer = (__extension__ ({
574 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
575
576 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
577 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
578
579 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
580 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst]);
581 __internal_VirtualMethod ? __internal_VirtualMethod(this->container) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
582 }));
583 return this->pointer != (((void *)0));
584 }
585
586 uint64 __ecereMethod___ecereNameSpace__ecere__com__Iterator_GetData(struct __ecereNameSpace__ecere__com__Iterator * this)
587 {
588 return (__extension__ ({
589 uint64 (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
590
591 __internal_VirtualMethod = ((uint64 (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
592 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
593
594 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
595 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData]);
596 __internal_VirtualMethod ? __internal_VirtualMethod(this->container, this->pointer) : (uint64)1;
597 }));
598 }
599
600 unsigned int __ecereMethod___ecereNameSpace__ecere__com__Iterator_SetData(struct __ecereNameSpace__ecere__com__Iterator * this, uint64 value)
601 {
602 return (__extension__ ({
603 unsigned int (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer, uint64 data);
604
605 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer, uint64 data))__extension__ ({
606 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
607
608 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
609 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_SetData]);
610 __internal_VirtualMethod ? __internal_VirtualMethod(this->container, this->pointer, value) : (unsigned int)1;
611 }));
612 }
613
614 void __ecereMethod___ecereNameSpace__ecere__com__Iterator_Remove(struct __ecereNameSpace__ecere__com__Iterator * this)
615 {
616 if(this->container)
617 (__extension__ ({
618 void (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it);
619
620 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it))__extension__ ({
621 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
622
623 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
624 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Remove]);
625 __internal_VirtualMethod ? __internal_VirtualMethod(this->container, this->pointer) : (void)1;
626 }));
627 this->pointer = (((void *)0));
628 }
629
630 void __ecereMethod___ecereNameSpace__ecere__com__Iterator_Free(struct __ecereNameSpace__ecere__com__Iterator * this)
631 {
632 if(this->container)
633 (__extension__ ({
634 void (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it);
635
636 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it))__extension__ ({
637 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
638
639 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
640 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_FreeIterator]);
641 __internal_VirtualMethod ? __internal_VirtualMethod(this->container, this->pointer) : (void)1;
642 }));
643 }
644
645 void __ecereDestructor___ecereNameSpace__ecere__com__Container(struct __ecereNameSpace__ecere__com__Instance * this)
646 {
647 {
648 (__extension__ ({
649 void (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
650
651 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
652 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
653
654 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
655 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_RemoveAll]);
656 __internal_VirtualMethod ? __internal_VirtualMethod(this) : (void)1;
657 }));
658 }
659 }
660
661 void __ecereProp___ecereNameSpace__ecere__com__Container_Set_copySrc(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Instance * value)
662 {
663 (__extension__ ({
664 void (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__Instance * source);
665
666 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__Instance * source))__extension__ ({
667 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
668
669 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
670 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Copy]);
671 __internal_VirtualMethod ? __internal_VirtualMethod(this, value) : (void)1;
672 }));
673 __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecereProp___ecereNameSpace__ecere__com__Container_copySrc), __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecerePropM___ecereNameSpace__ecere__com__Container_copySrc);
674 }
675
676 void __ecereProp___ecereNameSpace__ecere__com__Container_Get_firstIterator(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Iterator * value)
677 {
678 struct __ecereNameSpace__ecere__com__Iterator __simpleStruct0;
679
680 *value = (__simpleStruct0.container = (struct __ecereNameSpace__ecere__com__Instance *)this, __simpleStruct0.pointer = (__extension__ ({
681 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
682
683 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
684 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
685
686 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
687 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst]);
688 __internal_VirtualMethod ? __internal_VirtualMethod(this) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
689 })), __simpleStruct0);
690 }
691
692 void __ecereProp___ecereNameSpace__ecere__com__Container_Get_lastIterator(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Iterator * value)
693 {
694 struct __ecereNameSpace__ecere__com__Iterator __simpleStruct0;
695
696 *value = (__simpleStruct0.container = (struct __ecereNameSpace__ecere__com__Instance *)this, __simpleStruct0.pointer = (__extension__ ({
697 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
698
699 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
700 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
701
702 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
703 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetLast]);
704 __internal_VirtualMethod ? __internal_VirtualMethod(this) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
705 })), __simpleStruct0);
706 }
707
708 void __ecereMethod___ecereNameSpace__ecere__com__Container_RemoveAll(struct __ecereNameSpace__ecere__com__Instance * this)
709 {
710 struct __ecereNameSpace__ecere__com__IteratorPointer * i, * next;
711
712 for(i = (__extension__ ({
713 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
714
715 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
716 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
717
718 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
719 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst]);
720 __internal_VirtualMethod ? __internal_VirtualMethod(this) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
721 })), next = i ? (__extension__ ({
722 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
723
724 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
725 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
726
727 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
728 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetNext]);
729 __internal_VirtualMethod ? __internal_VirtualMethod(this, i) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
730 })) : (((void *)0)); i; i = next, next = i ? (__extension__ ({
731 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
732
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;
735
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)))
740 (__extension__ ({
741 void (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it);
742
743 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it))__extension__ ({
744 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
745
746 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
747 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Remove]);
748 __internal_VirtualMethod ? __internal_VirtualMethod(this, i) : (void)1;
749 }));
750 }
751
752 void __ecereMethod___ecereNameSpace__ecere__com__Container_Copy(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Instance * source)
753 {
754 struct __ecereNameSpace__ecere__com__IteratorPointer * i;
755
756 (__extension__ ({
757 void (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
758
759 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
760 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
761
762 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
763 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_RemoveAll]);
764 __internal_VirtualMethod ? __internal_VirtualMethod(this) : (void)1;
765 }));
766 for(i = (__extension__ ({
767 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
768
769 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
770 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = source;
771
772 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
773 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst]);
774 __internal_VirtualMethod ? __internal_VirtualMethod(source) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
775 })); i; i = (__extension__ ({
776 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
777
778 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
779 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = source;
780
781 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
782 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetNext]);
783 __internal_VirtualMethod ? __internal_VirtualMethod(source, i) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
784 })))
785 {
786 uint64 data = (__extension__ ({
787 uint64 (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
788
789 __internal_VirtualMethod = ((uint64 (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
790 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = source;
791
792 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
793 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData]);
794 __internal_VirtualMethod ? __internal_VirtualMethod(source, i) : (uint64)1;
795 }));
796
797 (__extension__ ({
798 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, uint64 value);
799
800 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, uint64 value))__extension__ ({
801 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
802
803 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
804 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Add]);
805 __internal_VirtualMethod ? __internal_VirtualMethod(this, data) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
806 }));
807 }
808 }
809
810 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)
811 {
812 struct __ecereNameSpace__ecere__com__IteratorPointer * ia, * ib;
813 struct __ecereNameSpace__ecere__com__Class * Dclass = class->templateArgs[2].__anon1.__anon1.dataTypeClass;
814 unsigned int byRef = (Dclass->type == 1000 && !Dclass->byValueSystemClass) || Dclass->type == 2 || Dclass->type == 4 || Dclass->type == 3;
815 int (* onCompare)(void *, const void *, const void *) = (void *)Dclass->_vTbl[__ecereVMethodID_class_OnCompare];
816
817 if(this && !b)
818 return 1;
819 if(b && !this)
820 return -1;
821 if(((int (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
822 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
823
824 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
825 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetCount])(this) > ((int (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
826 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = b;
827
828 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
829 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetCount])(b))
830 return 1;
831 if(((int (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
832 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
833
834 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
835 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetCount])(this) < ((int (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
836 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = b;
837
838 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
839 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetCount])(b))
840 return -1;
841 ia = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
842 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
843
844 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
845 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst])(this);
846 ib = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
847 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = b;
848
849 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
850 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst])(b);
851 while(ia && ib)
852 {
853 uint64 dataA = ((uint64 (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
854 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
855
856 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
857 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData])(this, ia);
858 uint64 dataB = ((uint64 (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
859 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = b;
860
861 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
862 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData])(b, ib);
863 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);
864
865 if(r)
866 return r;
867 ia = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
868 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
869
870 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
871 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetNext])(this, ia);
872 ib = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
873 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = b;
874
875 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
876 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetNext])(b, ib);
877 }
878 if(ia)
879 return 1;
880 if(ib)
881 return -1;
882 return 0;
883 }
884
885 int __ecereMethod___ecereNameSpace__ecere__com__Container_GetCount(struct __ecereNameSpace__ecere__com__Instance * this)
886 {
887 int count = 0;
888 struct __ecereNameSpace__ecere__com__IteratorPointer * i;
889
890 for(i = (__extension__ ({
891 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
892
893 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
894 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
895
896 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
897 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst]);
898 __internal_VirtualMethod ? __internal_VirtualMethod(this) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
899 })); i; i = (__extension__ ({
900 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
901
902 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
903 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
904
905 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
906 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetNext]);
907 __internal_VirtualMethod ? __internal_VirtualMethod(this, i) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
908 })))
909 count++;
910 return count;
911 }
912
913 void __ecereMethod___ecereNameSpace__ecere__com__Container_Free(struct __ecereNameSpace__ecere__com__Instance * this)
914 {
915 struct __ecereNameSpace__ecere__com__IteratorPointer * i;
916
917 while((i = (__extension__ ({
918 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
919
920 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
921 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
922
923 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
924 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst]);
925 __internal_VirtualMethod ? __internal_VirtualMethod(this) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
926 }))))
927 (__extension__ ({
928 void (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * i);
929
930 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * i))__extension__ ({
931 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
932
933 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
934 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Delete]);
935 __internal_VirtualMethod ? __internal_VirtualMethod(this, i) : (void)1;
936 }));
937 }
938
939 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)
940 {
941 if((struct __ecereNameSpace__ecere__com__Instance *)this)
942 {
943 char itemString[4096];
944 unsigned int first = 1;
945 struct __ecereNameSpace__ecere__com__IteratorPointer * i;
946
947 tempString[0] = '\0';
948 for(i = (__extension__ ({
949 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
950
951 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
952 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
953
954 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
955 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst]);
956 __internal_VirtualMethod ? __internal_VirtualMethod(this) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
957 })); i; i = (__extension__ ({
958 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
959
960 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
961 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
962
963 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
964 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetNext]);
965 __internal_VirtualMethod ? __internal_VirtualMethod(this, i) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
966 })))
967 {
968 struct __ecereNameSpace__ecere__com__Class * Dclass = class->templateArgs[2].__anon1.__anon1.dataTypeClass;
969 uint64 data = (__extension__ ({
970 uint64 (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
971
972 __internal_VirtualMethod = ((uint64 (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
973 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
974
975 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
976 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData]);
977 __internal_VirtualMethod ? __internal_VirtualMethod(this, i) : (uint64)1;
978 }));
979 const char * result;
980
981 itemString[0] = '\0';
982 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)));
983 if(!first)
984 strcat(tempString, ", ");
985 strcat(tempString, result);
986 first = 0;
987 }
988 }
989 else
990 tempString[0] = 0;
991 return tempString;
992 }
993
994 void __ecereMethod___ecereNameSpace__ecere__com__Container_TakeOut(struct __ecereNameSpace__ecere__com__Instance * this, const uint64 d)
995 {
996 struct __ecereNameSpace__ecere__com__IteratorPointer * i = (__extension__ ({
997 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const uint64 value);
998
999 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, const uint64 value))__extension__ ({
1000 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1001
1002 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
1003 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Find]);
1004 __internal_VirtualMethod ? __internal_VirtualMethod(this, d) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
1005 }));
1006
1007 if(i)
1008 (__extension__ ({
1009 void (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it);
1010
1011 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it))__extension__ ({
1012 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1013
1014 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
1015 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Remove]);
1016 __internal_VirtualMethod ? __internal_VirtualMethod(this, i) : (void)1;
1017 }));
1018 }
1019
1020 static __attribute__((unused)) void UnusedFunction()
1021 {
1022 int a;
1023
1024 (__extension__ ({
1025 int (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Class * , const void * , const void * object);
1026
1027 __internal_VirtualMethod = ((int (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, const void * object))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnCompare]);
1028 __internal_VirtualMethod ? __internal_VirtualMethod(__ecereClass_int, (void *)&a, (((void *)0))) : (int)1;
1029 }));
1030 (__extension__ ({
1031 void (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Class * , const void * , const void * newData);
1032
1033 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, const void * newData))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnCopy]);
1034 __internal_VirtualMethod ? __internal_VirtualMethod(__ecereClass_int, (void *)&a, (((void *)0))) : (void)1;
1035 }));
1036 (__extension__ ({
1037 const char *  (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Class * , const void * , char *  tempString, void *  fieldData, unsigned int *  needClass);
1038
1039 __internal_VirtualMethod = ((const char *  (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, char *  tempString, void *  fieldData, unsigned int *  needClass))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnGetString]);
1040 __internal_VirtualMethod ? __internal_VirtualMethod(__ecereClass_int, (void *)&a, (((void *)0)), (((void *)0)), (((void *)0))) : (const char * )1;
1041 }));
1042 (__extension__ ({
1043 void (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Class * , const void * , struct __ecereNameSpace__ecere__com__Instance * channel);
1044
1045 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, struct __ecereNameSpace__ecere__com__Instance * channel))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnSerialize]);
1046 __internal_VirtualMethod ? __internal_VirtualMethod(__ecereClass_int, (void *)&a, (((void *)0))) : (void)1;
1047 }));
1048 (__extension__ ({
1049 void (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Class * , const void * , struct __ecereNameSpace__ecere__com__Instance * channel);
1050
1051 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, struct __ecereNameSpace__ecere__com__Instance * channel))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnUnserialize]);
1052 __internal_VirtualMethod ? __internal_VirtualMethod(__ecereClass_int, (void *)&a, (((void *)0))) : (void)1;
1053 }));
1054 }
1055
1056 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)
1057 {
1058 if((struct __ecereNameSpace__ecere__com__Instance *)source)
1059 {
1060 struct __ecereNameSpace__ecere__com__Instance * container = __ecereNameSpace__ecere__com__eInstance_New(((struct __ecereNameSpace__ecere__com__Instance *)(char *)source)->_class);
1061
1062 (__extension__ ({
1063 void (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__Instance * source);
1064
1065 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__Instance * source))__extension__ ({
1066 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = container;
1067
1068 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
1069 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Copy]);
1070 __internal_VirtualMethod ? __internal_VirtualMethod(container, (struct __ecereNameSpace__ecere__com__Instance *)source) : (void)1;
1071 }));
1072 (*this) = container;
1073 }
1074 else
1075 {
1076 (*this) = (((void *)0));
1077 }
1078 }
1079
1080 struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereNameSpace__ecere__com__Container_Find(struct __ecereNameSpace__ecere__com__Instance * this, const uint64 value)
1081 {
1082 struct __ecereNameSpace__ecere__com__IteratorPointer * i;
1083 struct __ecereNameSpace__ecere__com__Class * Dclass = ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].__anon1.__anon1.dataTypeClass;
1084 unsigned int byRef = (Dclass->type == 1000 && !Dclass->byValueSystemClass) || Dclass->type == 2 || Dclass->type == 4 || Dclass->type == 3;
1085 int (* onCompare)(void *, const void *, const void *) = (void *)Dclass->_vTbl[__ecereVMethodID_class_OnCompare];
1086
1087 if(byRef)
1088 {
1089 for(i = (__extension__ ({
1090 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
1091
1092 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
1093 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1094
1095 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
1096 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst]);
1097 __internal_VirtualMethod ? __internal_VirtualMethod(this) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
1098 })); i; i = (__extension__ ({
1099 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
1100
1101 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
1102 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1103
1104 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
1105 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetNext]);
1106 __internal_VirtualMethod ? __internal_VirtualMethod(this, i) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
1107 })))
1108 {
1109 uint64 data = (__extension__ ({
1110 uint64 (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
1111
1112 __internal_VirtualMethod = ((uint64 (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
1113 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1114
1115 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
1116 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData]);
1117 __internal_VirtualMethod ? __internal_VirtualMethod(this, i) : (uint64)1;
1118 }));
1119 int result = ((int (*)(void *, const void *, const void *))(void *)Dclass->_vTbl[__ecereVMethodID_class_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)));
1120
1121 if(!result)
1122 return i;
1123 }
1124 }
1125 else
1126 {
1127 for(i = (__extension__ ({
1128 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
1129
1130 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
1131 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1132
1133 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
1134 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst]);
1135 __internal_VirtualMethod ? __internal_VirtualMethod(this) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
1136 })); i; i = (__extension__ ({
1137 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
1138
1139 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
1140 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1141
1142 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
1143 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetNext]);
1144 __internal_VirtualMethod ? __internal_VirtualMethod(this, i) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
1145 })))
1146 {
1147 uint64 data = (__extension__ ({
1148 uint64 (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
1149
1150 __internal_VirtualMethod = ((uint64 (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
1151 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1152
1153 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
1154 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData]);
1155 __internal_VirtualMethod ? __internal_VirtualMethod(this, i) : (uint64)1;
1156 }));
1157 int result = ((int (*)(void *, const void *, const void *))(void *)Dclass->_vTbl[__ecereVMethodID_class_OnCompare])(Dclass, (const void *)(uintptr_t)value, (const void *)(uintptr_t)data);
1158
1159 if(!result)
1160 return i;
1161 }
1162 }
1163 return (((void *)0));
1164 }
1165
1166 void __ecereMethod___ecereNameSpace__ecere__com__Container_Delete(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__IteratorPointer * i)
1167 {
1168 uint64 data = (__extension__ ({
1169 uint64 (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
1170
1171 __internal_VirtualMethod = ((uint64 (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
1172 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1173
1174 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
1175 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData]);
1176 __internal_VirtualMethod ? __internal_VirtualMethod(this, i) : (uint64)1;
1177 }));
1178
1179 (((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);
1180 (__extension__ ({
1181 void (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it);
1182
1183 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it))__extension__ ({
1184 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1185
1186 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
1187 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Remove]);
1188 __internal_VirtualMethod ? __internal_VirtualMethod(this, i) : (void)1;
1189 }));
1190 }
1191
1192 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)
1193 {
1194 unsigned int count = (__extension__ ({
1195 int (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
1196
1197 __internal_VirtualMethod = ((int (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
1198 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1199
1200 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
1201 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetCount]);
1202 __internal_VirtualMethod ? __internal_VirtualMethod(this) : (int)1;
1203 }));
1204 struct __ecereNameSpace__ecere__com__IteratorPointer * i;
1205 struct __ecereNameSpace__ecere__com__Class * Dclass = class->templateArgs[2].__anon1.__anon1.dataTypeClass;
1206 unsigned int isNormalClass = (Dclass->type == 0) && Dclass->structSize;
1207
1208 __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Put(channel, __ecereClass_uint, (void *)&count);
1209 for(i = (__extension__ ({
1210 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
1211
1212 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
1213 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1214
1215 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
1216 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst]);
1217 __internal_VirtualMethod ? __internal_VirtualMethod(this) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
1218 })); i; i = (__extension__ ({
1219 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
1220
1221 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
1222 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1223
1224 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
1225 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetNext]);
1226 __internal_VirtualMethod ? __internal_VirtualMethod(this, i) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
1227 })))
1228 {
1229 uint64 data = (__extension__ ({
1230 uint64 (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
1231
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;
1234
1235 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
1236 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData]);
1237 __internal_VirtualMethod ? __internal_VirtualMethod(this, i) : (uint64)1;
1238 }));
1239 struct __ecereNameSpace__ecere__com__Class * Eclass = isNormalClass ? ((struct __ecereNameSpace__ecere__com__Instance *)(char *)((struct __ecereNameSpace__ecere__com__Instance *)((uintptr_t)((uint64)(data)))))->_class : Dclass;
1240
1241 ((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);
1242 }
1243 }
1244
1245 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)
1246 {
1247 struct __ecereNameSpace__ecere__com__Instance * container = __ecereNameSpace__ecere__com__eInstance_New(__ecereProp___ecereNameSpace__ecere__com__Class_Set_char__PTR_(class->fullName));
1248 unsigned int count, c;
1249 struct __ecereNameSpace__ecere__com__Class * Dclass = class->templateArgs[2].__anon1.__anon1.dataTypeClass;
1250 uint64 data;
1251 unsigned int isStruct = Dclass->type == 1;
1252
1253 __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Get(channel, __ecereClass_uint, (void *)&count);
1254 if(isStruct)
1255 data = (uint64)(uintptr_t)(__ecereNameSpace__ecere__com__eSystem_New(sizeof(unsigned char) * (Dclass->structSize)));
1256 for(c = 0; c < count; c++)
1257 {
1258 if(isStruct)
1259 memset((char *)(uintptr_t)data, 0, Dclass->structSize);
1260 else
1261 data = (uint64)0;
1262 ((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);
1263 (__extension__ ({
1264 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, uint64 value);
1265
1266 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, uint64 value))__extension__ ({
1267 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = container;
1268
1269 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
1270 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Add]);
1271 __internal_VirtualMethod ? __internal_VirtualMethod(container, data) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
1272 }));
1273 }
1274 if(isStruct)
1275 (__ecereNameSpace__ecere__com__eSystem_Delete((void *)(uintptr_t)data), data = 0);
1276 (*this) = container;
1277 }
1278
1279 void __ecereUnregisterModule_Container(struct __ecereNameSpace__ecere__com__Instance * module)
1280 {
1281
1282 __ecerePropM___ecereNameSpace__ecere__com__Iterator_data = (void *)0;
1283 __ecerePropM___ecereNameSpace__ecere__com__Container_copySrc = (void *)0;
1284 __ecerePropM___ecereNameSpace__ecere__com__Container_firstIterator = (void *)0;
1285 __ecerePropM___ecereNameSpace__ecere__com__Container_lastIterator = (void *)0;
1286 }
1287
1288 unsigned int __ecereMethod___ecereNameSpace__ecere__com__Iterator_Find(struct __ecereNameSpace__ecere__com__Iterator * this, const uint64 value)
1289 {
1290 if(this->container)
1291 {
1292 __ecereMethod___ecereNameSpace__ecere__com__Iterator_Free(this);
1293 this->pointer = (__extension__ ({
1294 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const uint64 value);
1295
1296 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, const uint64 value))__extension__ ({
1297 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
1298
1299 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
1300 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Find]);
1301 __internal_VirtualMethod ? __internal_VirtualMethod(this->container, value) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
1302 }));
1303 }
1304 return this->pointer != (((void *)0));
1305 }
1306
1307 unsigned int __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(struct __ecereNameSpace__ecere__com__Iterator * this, const uint64 index, unsigned int create)
1308 {
1309 if(this->container)
1310 {
1311 unsigned int justAdded = 0;
1312
1313 __ecereMethod___ecereNameSpace__ecere__com__Iterator_Free(this);
1314 this->pointer = (__extension__ ({
1315 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const uint64 pos, unsigned int create, unsigned int *  justAdded);
1316
1317 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, const uint64 pos, unsigned int create, unsigned int *  justAdded))__extension__ ({
1318 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
1319
1320 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
1321 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetAtPosition]);
1322 __internal_VirtualMethod ? __internal_VirtualMethod(this->container, index, create, &justAdded) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
1323 }));
1324 return !justAdded && this->pointer != (((void *)0));
1325 }
1326 return 0;
1327 }
1328
1329 void __ecereRegisterModule_Container(struct __ecereNameSpace__ecere__com__Instance * module)
1330 {
1331 struct __ecereNameSpace__ecere__com__ClassTemplateArgument __simpleStruct2 =
1332 {
1333
1334 .__anon1 = {
1335
1336 .__anon1 = {
1337 .dataTypeString = "T"
1338 }
1339 }
1340 };
1341 struct __ecereNameSpace__ecere__com__ClassTemplateArgument __simpleStruct1 =
1342 {
1343
1344 .__anon1 = {
1345
1346 .__anon1 = {
1347 .dataTypeString = "int"
1348 }
1349 }
1350 };
1351 struct __ecereNameSpace__ecere__com__ClassTemplateArgument __simpleStruct0 =
1352 {
1353
1354 .__anon1 = {
1355
1356 .__anon1 = {
1357 .dataTypeString = "int"
1358 }
1359 }
1360 };
1361 struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
1362
1363 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);
1364 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)
1365 __ecereClass___ecereNameSpace__ecere__com__Iterator = class;
1366 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Find", "bool Find(const T value)", __ecereMethod___ecereNameSpace__ecere__com__Iterator_Find, 1);
1367 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Free", "void Free()", __ecereMethod___ecereNameSpace__ecere__com__Iterator_Free, 1);
1368 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "GetData", "T GetData()", __ecereMethod___ecereNameSpace__ecere__com__Iterator_GetData, 1);
1369 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Index", "bool Index(const IT index, bool create)", __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index, 1);
1370 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Next", "bool Next()", __ecereMethod___ecereNameSpace__ecere__com__Iterator_Next, 1);
1371 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Prev", "bool Prev()", __ecereMethod___ecereNameSpace__ecere__com__Iterator_Prev, 1);
1372 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Remove", "void Remove()", __ecereMethod___ecereNameSpace__ecere__com__Iterator_Remove, 1);
1373 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "SetData", "bool SetData(T value)", __ecereMethod___ecereNameSpace__ecere__com__Iterator_SetData, 1);
1374 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "container", "ecere::com::Container<T, IT>", sizeof(void *), 0xF000F000, 1);
1375 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "pointer", "ecere::com::IteratorPointer", sizeof(void *), 0xF000F000, 1);
1376 __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);
1377 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)
1378 __ecereProp___ecereNameSpace__ecere__com__Iterator_data = __ecerePropM___ecereNameSpace__ecere__com__Iterator_data, __ecerePropM___ecereNameSpace__ecere__com__Iterator_data = (void *)0;
1379 __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(class, "T", 0, 0, (((void *)0)));
1380 __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(class, "IT", 0, 0, &__simpleStruct0);
1381 __ecereNameSpace__ecere__com__eClass_DoneAddingTemplateParameters(class);
1382 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "ecere::com::Container", 0, 0, 0, (void *)0, (void *)__ecereDestructor___ecereNameSpace__ecere__com__Container, module, 4, 1);
1383 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)
1384 __ecereClass___ecereNameSpace__ecere__com__Container = class;
1385 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnCompare", 0, __ecereMethod___ecereNameSpace__ecere__com__Container_OnCompare, 1);
1386 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnCopy", 0, __ecereMethod___ecereNameSpace__ecere__com__Container_OnCopy, 1);
1387 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnFree", 0, __ecereMethod___ecereNameSpace__ecere__com__Container_OnFree, 1);
1388 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnGetString", 0, __ecereMethod___ecereNameSpace__ecere__com__Container_OnGetString, 1);
1389 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnSerialize", 0, __ecereMethod___ecereNameSpace__ecere__com__Container_OnSerialize, 1);
1390 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnUnserialize", 0, __ecereMethod___ecereNameSpace__ecere__com__Container_OnUnserialize, 1);
1391 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetFirst", "ecere::com::IteratorPointer GetFirst()", __ecereMethod___ecereNameSpace__ecere__com__Container_GetFirst, 1);
1392 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetLast", "ecere::com::IteratorPointer GetLast()", __ecereMethod___ecereNameSpace__ecere__com__Container_GetLast, 1);
1393 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetPrev", "ecere::com::IteratorPointer GetPrev(ecere::com::IteratorPointer pointer)", __ecereMethod___ecereNameSpace__ecere__com__Container_GetPrev, 1);
1394 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetNext", "ecere::com::IteratorPointer GetNext(ecere::com::IteratorPointer pointer)", __ecereMethod___ecereNameSpace__ecere__com__Container_GetNext, 1);
1395 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetData", "D GetData(ecere::com::IteratorPointer pointer)", __ecereMethod___ecereNameSpace__ecere__com__Container_GetData, 1);
1396 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "SetData", "bool SetData(ecere::com::IteratorPointer pointer, D data)", 0, 1);
1397 __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);
1398 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Insert", "ecere::com::IteratorPointer Insert(ecere::com::IteratorPointer after, T value)", 0, 1);
1399 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Add", "ecere::com::IteratorPointer Add(T value)", 0, 1);
1400 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Remove", "void Remove(ecere::com::IteratorPointer it)", 0, 1);
1401 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Move", "void Move(ecere::com::IteratorPointer it, ecere::com::IteratorPointer after)", 0, 1);
1402 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "RemoveAll", "void RemoveAll()", __ecereMethod___ecereNameSpace__ecere__com__Container_RemoveAll, 1);
1403 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Copy", "void Copy(ecere::com::Container<T> source)", __ecereMethod___ecereNameSpace__ecere__com__Container_Copy, 1);
1404 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Find", "ecere::com::IteratorPointer Find(const D value)", __ecereMethod___ecereNameSpace__ecere__com__Container_Find, 1);
1405 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "FreeIterator", "void FreeIterator(ecere::com::IteratorPointer it)", 0, 1);
1406 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetCount", "int GetCount()", __ecereMethod___ecereNameSpace__ecere__com__Container_GetCount, 1);
1407 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Free", "void Free()", __ecereMethod___ecereNameSpace__ecere__com__Container_Free, 1);
1408 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Delete", "void Delete(ecere::com::IteratorPointer i)", __ecereMethod___ecereNameSpace__ecere__com__Container_Delete, 1);
1409 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "TakeOut", "void TakeOut(const D d)", __ecereMethod___ecereNameSpace__ecere__com__Container_TakeOut, 1);
1410 __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);
1411 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)
1412 __ecereProp___ecereNameSpace__ecere__com__Container_copySrc = __ecerePropM___ecereNameSpace__ecere__com__Container_copySrc, __ecerePropM___ecereNameSpace__ecere__com__Container_copySrc = (void *)0;
1413 __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);
1414 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)
1415 __ecereProp___ecereNameSpace__ecere__com__Container_firstIterator = __ecerePropM___ecereNameSpace__ecere__com__Container_firstIterator, __ecerePropM___ecereNameSpace__ecere__com__Container_firstIterator = (void *)0;
1416 __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);
1417 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)
1418 __ecereProp___ecereNameSpace__ecere__com__Container_lastIterator = __ecerePropM___ecereNameSpace__ecere__com__Container_lastIterator, __ecerePropM___ecereNameSpace__ecere__com__Container_lastIterator = (void *)0;
1419 __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(class, "T", 0, 0, (((void *)0)));
1420 __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(class, "I", 0, 0, &__simpleStruct1);
1421 __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(class, "D", 0, 0, &__simpleStruct2);
1422 __ecereNameSpace__ecere__com__eClass_DoneAddingTemplateParameters(class);
1423 if(class)
1424 class->fixed = (unsigned int)1;
1425 }
1426