sdk: const correctness
[sdk] / compiler / bootstrap / ecere / bootstrap / Container.c
1 /* Code generated from eC source file: Container.ec */
2 #if defined(__GNUC__)
3 typedef long long int64;
4 typedef unsigned long long uint64;
5 #ifndef _WIN32
6 #define __declspec(x)
7 #endif
8 #elif defined(__TINYC__)
9 #include <stdarg.h>
10 #define __builtin_va_list va_list
11 #define __builtin_va_start va_start
12 #define __builtin_va_end va_end
13 #ifdef _WIN32
14 #define strcasecmp stricmp
15 #define strncasecmp strnicmp
16 #define __declspec(x) __attribute__((x))
17 #else
18 #define __declspec(x)
19 #endif
20 typedef long long int64;
21 typedef unsigned long long uint64;
22 #else
23 typedef __int64 int64;
24 typedef unsigned __int64 uint64;
25 #endif
26 #ifdef __BIG_ENDIAN__
27 #define __ENDIAN_PAD(x) (8 - (x))
28 #else
29 #define __ENDIAN_PAD(x) 0
30 #endif
31 #include <stdint.h>
32 #include <sys/types.h>
33
34 #if /*defined(_W64) || */(defined(__WORDSIZE) && __WORDSIZE == 8) || defined(__x86_64__)
35 #define _64BIT 1
36 #else
37 #define _64BIT 0
38 #endif
39
40 #define arch_PointerSize                  sizeof(void *)
41 #define structSize_Instance               (_64BIT ? 24 : 12)
42
43 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
44
45 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
46
47 extern void *  __ecereNameSpace__ecere__com__eSystem_Renew(void *  memory, unsigned int size);
48
49 extern void *  __ecereNameSpace__ecere__com__eSystem_Renew0(void *  memory, unsigned int size);
50
51 extern void __ecereNameSpace__ecere__com__eSystem_Delete(void *  memory);
52
53 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__BTNode;
54
55 struct __ecereNameSpace__ecere__sys__BTNode;
56
57 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__BinaryTree;
58
59 struct __ecereNameSpace__ecere__sys__BinaryTree
60 {
61 struct __ecereNameSpace__ecere__sys__BTNode * root;
62 int count;
63 int (*  CompareKey)(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, uintptr_t a, uintptr_t b);
64 void (*  FreeKey)(void *  key);
65 } __attribute__ ((gcc_struct));
66
67 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__OldList;
68
69 struct __ecereNameSpace__ecere__sys__OldList
70 {
71 void *  first;
72 void *  last;
73 int count;
74 unsigned int offset;
75 unsigned int circ;
76 } __attribute__ ((gcc_struct));
77
78 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Class;
79
80 struct __ecereNameSpace__ecere__com__Class
81 {
82 struct __ecereNameSpace__ecere__com__Class * prev;
83 struct __ecereNameSpace__ecere__com__Class * next;
84 const char *  name;
85 int offset;
86 int structSize;
87 int (* *  _vTbl)();
88 int vTblSize;
89 int (*  Constructor)(struct __ecereNameSpace__ecere__com__Instance *);
90 void (*  Destructor)(struct __ecereNameSpace__ecere__com__Instance *);
91 int offsetClass;
92 int sizeClass;
93 struct __ecereNameSpace__ecere__com__Class * base;
94 struct __ecereNameSpace__ecere__sys__BinaryTree methods;
95 struct __ecereNameSpace__ecere__sys__BinaryTree members;
96 struct __ecereNameSpace__ecere__sys__BinaryTree prop;
97 struct __ecereNameSpace__ecere__sys__OldList membersAndProperties;
98 struct __ecereNameSpace__ecere__sys__BinaryTree classProperties;
99 struct __ecereNameSpace__ecere__sys__OldList derivatives;
100 int memberID;
101 int startMemberID;
102 int type;
103 struct __ecereNameSpace__ecere__com__Instance * module;
104 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
105 const char *  dataTypeString;
106 struct __ecereNameSpace__ecere__com__Instance * dataType;
107 int typeSize;
108 int defaultAlignment;
109 void (*  Initialize)();
110 int memberOffset;
111 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
112 const char *  designerClass;
113 unsigned int noExpansion;
114 const char *  defaultProperty;
115 unsigned int comRedefinition;
116 int count;
117 int isRemote;
118 unsigned int internalDecl;
119 void *  data;
120 unsigned int computeSize;
121 int structAlignment;
122 int destructionWatchOffset;
123 unsigned int fixed;
124 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
125 int inheritanceAccess;
126 const char *  fullName;
127 void *  symbol;
128 struct __ecereNameSpace__ecere__sys__OldList conversions;
129 struct __ecereNameSpace__ecere__sys__OldList templateParams;
130 struct __ecereNameSpace__ecere__com__ClassTemplateArgument *  templateArgs;
131 struct __ecereNameSpace__ecere__com__Class * templateClass;
132 struct __ecereNameSpace__ecere__sys__OldList templatized;
133 int numParams;
134 unsigned int isInstanceClass;
135 unsigned int byValueSystemClass;
136 } __attribute__ ((gcc_struct));
137
138 extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
139
140 extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
141
142 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Property;
143
144 struct __ecereNameSpace__ecere__com__Property
145 {
146 struct __ecereNameSpace__ecere__com__Property * prev;
147 struct __ecereNameSpace__ecere__com__Property * next;
148 const char *  name;
149 unsigned int isProperty;
150 int memberAccess;
151 int id;
152 struct __ecereNameSpace__ecere__com__Class * _class;
153 const char *  dataTypeString;
154 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
155 struct __ecereNameSpace__ecere__com__Instance * dataType;
156 void (*  Set)(void * , int);
157 int (*  Get)(void * );
158 unsigned int (*  IsSet)(void * );
159 void *  data;
160 void *  symbol;
161 int vid;
162 unsigned int conversion;
163 unsigned int watcherOffset;
164 const char *  category;
165 unsigned int compiled;
166 unsigned int selfWatchable;
167 unsigned int isWatchable;
168 } __attribute__ ((gcc_struct));
169
170 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
171
172 extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
173
174 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
175
176 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);
177
178 extern void __ecereNameSpace__ecere__com__eInstance_Watch(void *  instance, struct __ecereNameSpace__ecere__com__Property * _property, void *  object, void (*  callback)(void * , void * ));
179
180 extern void __ecereNameSpace__ecere__com__eInstance_FireWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
181
182 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Instance;
183
184 struct __ecereNameSpace__ecere__com__Instance
185 {
186 int (* *  _vTbl)();
187 struct __ecereNameSpace__ecere__com__Class * _class;
188 int _refCount;
189 } __attribute__ ((gcc_struct));
190
191 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DataMember;
192
193 struct __ecereNameSpace__ecere__com__DataMember
194 {
195 struct __ecereNameSpace__ecere__com__DataMember * prev;
196 struct __ecereNameSpace__ecere__com__DataMember * next;
197 const char *  name;
198 unsigned int isProperty;
199 int memberAccess;
200 int id;
201 struct __ecereNameSpace__ecere__com__Class * _class;
202 const char *  dataTypeString;
203 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
204 struct __ecereNameSpace__ecere__com__Instance * dataType;
205 int type;
206 int offset;
207 int memberID;
208 struct __ecereNameSpace__ecere__sys__OldList members;
209 struct __ecereNameSpace__ecere__sys__BinaryTree membersAlpha;
210 int memberOffset;
211 int structAlignment;
212 } __attribute__ ((gcc_struct));
213
214 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Method;
215
216 struct __ecereNameSpace__ecere__com__Method
217 {
218 const char *  name;
219 struct __ecereNameSpace__ecere__com__Method * parent;
220 struct __ecereNameSpace__ecere__com__Method * left;
221 struct __ecereNameSpace__ecere__com__Method * right;
222 int depth;
223 int (*  function)();
224 int vid;
225 int type;
226 struct __ecereNameSpace__ecere__com__Class * _class;
227 void *  symbol;
228 const char *  dataTypeString;
229 struct __ecereNameSpace__ecere__com__Instance * dataType;
230 int memberAccess;
231 } __attribute__ ((gcc_struct));
232
233 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__SerialBuffer;
234
235 struct __ecereNameSpace__ecere__com__SerialBuffer
236 {
237 unsigned char *  _buffer;
238 unsigned int count;
239 unsigned int _size;
240 unsigned int pos;
241 } __attribute__ ((gcc_struct));
242
243 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DataValue;
244
245 struct __ecereNameSpace__ecere__com__DataValue
246 {
247 union
248 {
249 char c;
250 unsigned char uc;
251 short s;
252 unsigned short us;
253 int i;
254 unsigned int ui;
255 void *  p;
256 float f;
257 double d;
258 long long i64;
259 uint64 ui64;
260 } __attribute__ ((gcc_struct));
261 } __attribute__ ((gcc_struct));
262
263 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateArgument;
264
265 struct __ecereNameSpace__ecere__com__ClassTemplateArgument
266 {
267 union
268 {
269 struct
270 {
271 const char *  dataTypeString;
272 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
273 } __attribute__ ((gcc_struct));
274 struct __ecereNameSpace__ecere__com__DataValue expression;
275 struct
276 {
277 const char *  memberString;
278 union
279 {
280 struct __ecereNameSpace__ecere__com__DataMember * member;
281 struct __ecereNameSpace__ecere__com__Property * prop;
282 struct __ecereNameSpace__ecere__com__Method * method;
283 } __attribute__ ((gcc_struct));
284 } __attribute__ ((gcc_struct));
285 } __attribute__ ((gcc_struct));
286 } __attribute__ ((gcc_struct));
287
288 int __ecereVMethodID_class_OnCompare;
289
290 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_int;
291
292 int __ecereVMethodID_class_OnCopy;
293
294 int __ecereVMethodID_class_OnGetString;
295
296 int __ecereVMethodID_class_OnSerialize;
297
298 int __ecereVMethodID_class_OnUnserialize;
299
300 static __attribute__((unused)) void UnusedFunction()
301 {
302 int a;
303
304 ((int (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, const void * object))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnCompare])(__ecereClass_int, &a, (((void *)0)));
305 ((void (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, const void * newData))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnCopy])(__ecereClass_int, &a, (((void *)0)));
306 ((const char *  (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, char *  tempString, void *  fieldData, unsigned int *  needClass))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnGetString])(__ecereClass_int, &a, (((void *)0)), (((void *)0)), (((void *)0)));
307 ((void (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, struct __ecereNameSpace__ecere__com__Instance * channel))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnSerialize])(__ecereClass_int, &a, (((void *)0)));
308 ((void (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, struct __ecereNameSpace__ecere__com__Instance * channel))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnUnserialize])(__ecereClass_int, &a, (((void *)0)));
309 }
310
311 extern int __ecereVMethodID_class_OnCompare;
312
313 extern int __ecereVMethodID_class_OnGetString;
314
315 extern int __ecereVMethodID_class_OnSerialize;
316
317 extern int __ecereVMethodID_class_OnUnserialize;
318
319 static struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__com__Iterator_data, * __ecerePropM___ecereNameSpace__ecere__com__Iterator_data;
320
321 struct __ecereNameSpace__ecere__com__Iterator
322 {
323 struct __ecereNameSpace__ecere__com__Instance * container;
324 struct __ecereNameSpace__ecere__com__IteratorPointer * pointer;
325 } __attribute__ ((gcc_struct));
326
327 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Iterator;
328
329 static struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__com__Container_copySrc, * __ecerePropM___ecereNameSpace__ecere__com__Container_copySrc;
330
331 static struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__com__Container_firstIterator, * __ecerePropM___ecereNameSpace__ecere__com__Container_firstIterator;
332
333 static struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__com__Container_lastIterator, * __ecerePropM___ecereNameSpace__ecere__com__Container_lastIterator;
334
335 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData;
336
337 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Container;
338
339 uint64 __ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data(struct __ecereNameSpace__ecere__com__Iterator * this)
340 {
341 return ((uint64 (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
342 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
343
344 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
345 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData])(this->container, this->pointer);
346 }
347
348 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_SetData;
349
350 void __ecereProp___ecereNameSpace__ecere__com__Iterator_Set_data(struct __ecereNameSpace__ecere__com__Iterator * this, uint64 value)
351 {
352 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer, uint64 data))__extension__ ({
353 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
354
355 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
356 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_SetData])(this->container, this->pointer, value);
357 }
358
359 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_GetPrev;
360
361 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_GetLast;
362
363 unsigned int __ecereMethod___ecereNameSpace__ecere__com__Iterator_Prev(struct __ecereNameSpace__ecere__com__Iterator * this)
364 {
365 if(this->pointer && this->container)
366 this->pointer = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
367 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
368
369 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
370 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetPrev])(this->container, this->pointer);
371 else if(this->container)
372 this->pointer = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
373 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
374
375 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
376 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetLast])(this->container);
377 return this->pointer != (((void *)0));
378 }
379
380 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_GetNext;
381
382 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst;
383
384 unsigned int __ecereMethod___ecereNameSpace__ecere__com__Iterator_Next(struct __ecereNameSpace__ecere__com__Iterator * this)
385 {
386 if(this->pointer && this->container)
387 this->pointer = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
388 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
389
390 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
391 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetNext])(this->container, this->pointer);
392 else if(this->container)
393 this->pointer = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
394 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
395
396 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
397 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst])(this->container);
398 return this->pointer != (((void *)0));
399 }
400
401 uint64 __ecereMethod___ecereNameSpace__ecere__com__Iterator_GetData(struct __ecereNameSpace__ecere__com__Iterator * this)
402 {
403 return ((uint64 (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
404 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
405
406 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
407 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData])(this->container, this->pointer);
408 }
409
410 unsigned int __ecereMethod___ecereNameSpace__ecere__com__Iterator_SetData(struct __ecereNameSpace__ecere__com__Iterator * this, uint64 value)
411 {
412 return ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer, uint64 data))__extension__ ({
413 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
414
415 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
416 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_SetData])(this->container, this->pointer, value);
417 }
418
419 void __ecereMethod___ecereNameSpace__ecere__com__Iterator_Free();
420
421 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Find;
422
423 unsigned int __ecereMethod___ecereNameSpace__ecere__com__Iterator_Find(struct __ecereNameSpace__ecere__com__Iterator * this, const uint64 value)
424 {
425 if(this->container)
426 {
427 __ecereMethod___ecereNameSpace__ecere__com__Iterator_Free(this);
428 this->pointer = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, const uint64 value))__extension__ ({
429 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
430
431 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
432 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Find])(this->container, value);
433 }
434 return this->pointer != (((void *)0));
435 }
436
437 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Remove;
438
439 void __ecereMethod___ecereNameSpace__ecere__com__Iterator_Remove(struct __ecereNameSpace__ecere__com__Iterator * this)
440 {
441 if(this->container)
442 ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it))__extension__ ({
443 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
444
445 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
446 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Remove])(this->container, this->pointer);
447 this->pointer = (((void *)0));
448 }
449
450 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_FreeIterator;
451
452 void __ecereMethod___ecereNameSpace__ecere__com__Iterator_Free(struct __ecereNameSpace__ecere__com__Iterator * this)
453 {
454 if(this->container)
455 ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it))__extension__ ({
456 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
457
458 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
459 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_FreeIterator])(this->container, this->pointer);
460 }
461
462 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_GetAtPosition;
463
464 unsigned int __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(struct __ecereNameSpace__ecere__com__Iterator * this, const uint64 index, unsigned int create)
465 {
466 if(this->container)
467 {
468 __ecereMethod___ecereNameSpace__ecere__com__Iterator_Free(this);
469 this->pointer = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, const uint64 pos, unsigned int create))__extension__ ({
470 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
471
472 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
473 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetAtPosition])(this->container, index, create);
474 return this->pointer != (((void *)0));
475 }
476 return 0x0;
477 }
478
479 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_RemoveAll;
480
481 void __ecereDestructor___ecereNameSpace__ecere__com__Container(struct __ecereNameSpace__ecere__com__Instance * this)
482 {
483 {
484 ((void (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
485 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
486
487 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
488 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_RemoveAll])(this);
489 }
490 }
491
492 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Copy;
493
494 void __ecereProp___ecereNameSpace__ecere__com__Container_Set_copySrc(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Instance * value)
495 {
496 ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__Instance * source))__extension__ ({
497 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
498
499 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
500 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Copy])(this, value);
501 __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecereProp___ecereNameSpace__ecere__com__Container_copySrc), __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecerePropM___ecereNameSpace__ecere__com__Container_copySrc);
502 }
503
504 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__IteratorPointer;
505
506 struct __ecereNameSpace__ecere__com__IteratorPointer;
507
508 void __ecereProp___ecereNameSpace__ecere__com__Container_Get_firstIterator(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Iterator * value)
509 {
510 struct __ecereNameSpace__ecere__com__Iterator __simpleStruct0;
511
512 *value = (__simpleStruct0.container = (struct __ecereNameSpace__ecere__com__Instance *)this, __simpleStruct0.pointer = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
513 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
514
515 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
516 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst])(this), __simpleStruct0);
517 }
518
519 void __ecereProp___ecereNameSpace__ecere__com__Container_Get_lastIterator(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Iterator * value)
520 {
521 struct __ecereNameSpace__ecere__com__Iterator __simpleStruct0;
522
523 *value = (__simpleStruct0.container = (struct __ecereNameSpace__ecere__com__Instance *)this, __simpleStruct0.pointer = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
524 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
525
526 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
527 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetLast])(this), __simpleStruct0);
528 }
529
530 struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereNameSpace__ecere__com__Container_GetFirst(struct __ecereNameSpace__ecere__com__Instance * this)
531 {
532 return (((void *)0));
533 }
534
535 struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereNameSpace__ecere__com__Container_GetLast(struct __ecereNameSpace__ecere__com__Instance * this)
536 {
537 return (((void *)0));
538 }
539
540 struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereNameSpace__ecere__com__Container_GetPrev(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer)
541 {
542 return (((void *)0));
543 }
544
545 struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereNameSpace__ecere__com__Container_GetNext(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer)
546 {
547 return (((void *)0));
548 }
549
550 uint64 __ecereMethod___ecereNameSpace__ecere__com__Container_GetData(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer)
551 {
552 return (uint64)0;
553 }
554
555 struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereNameSpace__ecere__com__Container_GetAtPosition(struct __ecereNameSpace__ecere__com__Instance * this, const uint64 pos, unsigned int create)
556 {
557 return (((void *)0));
558 }
559
560 void __ecereMethod___ecereNameSpace__ecere__com__Container_RemoveAll(struct __ecereNameSpace__ecere__com__Instance * this)
561 {
562 struct __ecereNameSpace__ecere__com__IteratorPointer * i, * next;
563
564 for(i = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
565 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
566
567 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
568 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst])(this), next = i ? ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
569 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
570
571 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
572 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetNext])(this, i) : (((void *)0)); i; i = next, next = i ? ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
573 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
574
575 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
576 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetNext])(this, i) : (((void *)0)))
577 ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it))__extension__ ({
578 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
579
580 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
581 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Remove])(this, i);
582 }
583
584 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Add;
585
586 void __ecereMethod___ecereNameSpace__ecere__com__Container_Copy(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Instance * source)
587 {
588 struct __ecereNameSpace__ecere__com__IteratorPointer * i;
589
590 ((void (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
591 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
592
593 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
594 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_RemoveAll])(this);
595 for(i = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
596 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = source;
597
598 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
599 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst])(source); i; i = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
600 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = source;
601
602 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
603 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetNext])(source, i))
604 {
605 uint64 data = ((uint64 (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
606 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = source;
607
608 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
609 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData])(source, i);
610
611 ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, uint64 value))__extension__ ({
612 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
613
614 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
615 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Add])(this, data);
616 }
617 }
618
619 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Free;
620
621 extern void __ecereNameSpace__ecere__com__eInstance_DecRef(struct __ecereNameSpace__ecere__com__Instance * instance);
622
623 void __ecereMethod___ecereNameSpace__ecere__com__Container_OnFree(struct __ecereNameSpace__ecere__com__Class * class, struct __ecereNameSpace__ecere__com__Instance * this)
624 {
625 if((struct __ecereNameSpace__ecere__com__Instance *)this)
626 {
627 ((void (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
628 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
629
630 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
631 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Free])(this);
632 (__ecereNameSpace__ecere__com__eInstance_DecRef(this), this = 0);
633 }
634 }
635
636 extern void *  __ecereNameSpace__ecere__com__eInstance_New(struct __ecereNameSpace__ecere__com__Class * _class);
637
638 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)
639 {
640 if((struct __ecereNameSpace__ecere__com__Instance *)source)
641 {
642 struct __ecereNameSpace__ecere__com__Instance * container = __ecereNameSpace__ecere__com__eInstance_New(((struct __ecereNameSpace__ecere__com__Instance *)(char *)source)->_class);
643
644 ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__Instance * source))__extension__ ({
645 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = container;
646
647 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
648 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Copy])(container, (struct __ecereNameSpace__ecere__com__Instance *)source);
649 (*this) = container;
650 }
651 else
652 {
653 (*this) = (((void *)0));
654 }
655 }
656
657 struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereNameSpace__ecere__com__Container_Find(struct __ecereNameSpace__ecere__com__Instance * this, const uint64 value)
658 {
659 struct __ecereNameSpace__ecere__com__IteratorPointer * i;
660 struct __ecereNameSpace__ecere__com__Class * Dclass = ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].dataTypeClass;
661
662 if(((Dclass->type == 1000 && !Dclass->byValueSystemClass) || Dclass->type == 2 || Dclass->type == 4 || Dclass->type == 3))
663 {
664 for(i = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
665 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
666
667 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
668 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst])(this); i; i = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
669 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
670
671 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
672 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetNext])(this, i))
673 {
674 uint64 data = ((uint64 (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
675 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
676
677 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
678 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData])(this, i);
679 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].dataTypeClass->type == 1 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].dataTypeClass->type == 5) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].dataTypeClass->typeSize)), ((char *)&data + __ENDIAN_PAD((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].dataTypeClass->type == 1 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].dataTypeClass->type == 5) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].dataTypeClass->typeSize)));
680
681 if(!result)
682 return i;
683 }
684 }
685 else
686 {
687 for(i = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
688 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
689
690 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
691 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst])(this); i; i = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
692 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
693
694 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
695 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetNext])(this, i))
696 {
697 uint64 data = ((uint64 (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
698 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
699
700 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
701 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData])(this, i);
702 int result = ((int (*)(void *, const void *, const void *))(void *)Dclass->_vTbl[__ecereVMethodID_class_OnCompare])(Dclass, (const void *)value, (const void *)data);
703
704 if(!result)
705 return i;
706 }
707 }
708 return (((void *)0));
709 }
710
711 int __ecereMethod___ecereNameSpace__ecere__com__Container_GetCount(struct __ecereNameSpace__ecere__com__Instance * this)
712 {
713 int count = 0;
714 struct __ecereNameSpace__ecere__com__IteratorPointer * i;
715
716 for(i = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
717 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
718
719 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
720 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst])(this); i; i = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
721 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
722
723 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
724 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetNext])(this, i))
725 count++;
726 return count;
727 }
728
729 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Delete;
730
731 void __ecereMethod___ecereNameSpace__ecere__com__Container_Free(struct __ecereNameSpace__ecere__com__Instance * this)
732 {
733 struct __ecereNameSpace__ecere__com__IteratorPointer * i;
734
735 while((i = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
736 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
737
738 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
739 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst])(this)))
740 ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * i))__extension__ ({
741 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
742
743 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
744 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Delete])(this, i);
745 }
746
747 int __ecereVMethodID_class_OnFree;
748
749 void __ecereMethod___ecereNameSpace__ecere__com__Container_Delete(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__IteratorPointer * i)
750 {
751 uint64 data = ((uint64 (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
752 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
753
754 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
755 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData])(this, i);
756
757 (((void (* )(void *  _class, void *  data))((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].dataTypeClass->_vTbl[__ecereVMethodID_class_OnFree])(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].dataTypeClass, data), data = 0);
758 ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it))__extension__ ({
759 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
760
761 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
762 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Remove])(this, i);
763 }
764
765 extern char *  strcat(char * , const char * );
766
767 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)
768 {
769 if((struct __ecereNameSpace__ecere__com__Instance *)this)
770 {
771 char itemString[4096];
772 unsigned int first = 0x1;
773 struct __ecereNameSpace__ecere__com__IteratorPointer * i;
774
775 tempString[0] = '\0';
776 for(i = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
777 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
778
779 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
780 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst])(this); i; i = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
781 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
782
783 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
784 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetNext])(this, i))
785 {
786 struct __ecereNameSpace__ecere__com__Class * Dclass = class->templateArgs[2].dataTypeClass;
787 uint64 data = ((uint64 (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
788 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
789
790 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
791 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData])(this, i);
792 const char * result;
793
794 itemString[0] = '\0';
795 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].dataTypeClass->type == 1 || class->templateArgs[2].dataTypeClass->type == 0 || class->templateArgs[2].dataTypeClass->type == 5) ? sizeof(void *) : class->templateArgs[2].dataTypeClass->typeSize)) : (void *)data, itemString, (((void *)0)), (((void *)0)));
796 if(!first)
797 strcat(tempString, ", ");
798 strcat(tempString, result);
799 first = 0x0;
800 }
801 }
802 else
803 tempString[0] = (char)0;
804 return tempString;
805 }
806
807 void __ecereMethod___ecereNameSpace__ecere__com__Container_TakeOut(struct __ecereNameSpace__ecere__com__Instance * this, const uint64 d)
808 {
809 struct __ecereNameSpace__ecere__com__IteratorPointer * i = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, const uint64 value))__extension__ ({
810 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
811
812 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
813 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Find])(this, d);
814
815 if(i)
816 ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it))__extension__ ({
817 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
818
819 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
820 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Remove])(this, i);
821 }
822
823 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_GetCount;
824
825 void __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Put(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Class * class, const void * data);
826
827 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_uint;
828
829 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)
830 {
831 unsigned int count = ((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);
836 struct __ecereNameSpace__ecere__com__IteratorPointer * i;
837 struct __ecereNameSpace__ecere__com__Class * Dclass = class->templateArgs[2].dataTypeClass;
838 unsigned int isNormalClass = (Dclass->type == 0) && Dclass->structSize;
839
840 __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Put(channel, __ecereClass_uint, &count);
841 for(i = ((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); i; i = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
846 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
847
848 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
849 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetNext])(this, i))
850 {
851 uint64 data = ((uint64 (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
852 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
853
854 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
855 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData])(this, i);
856 struct __ecereNameSpace__ecere__com__Class * Eclass = isNormalClass ? ((struct __ecereNameSpace__ecere__com__Instance *)(char *)((struct __ecereNameSpace__ecere__com__Instance *)data))->_class : Dclass;
857
858 ((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].dataTypeClass->type == 1 || class->templateArgs[2].dataTypeClass->type == 0 || class->templateArgs[2].dataTypeClass->type == 5) ? sizeof(void *) : class->templateArgs[2].dataTypeClass->typeSize)) : (void *)data, channel);
859 }
860 }
861
862 const char *  __ecereProp___ecereNameSpace__ecere__com__Class_Get_char__PTR_(struct __ecereNameSpace__ecere__com__Class * this);
863
864 struct __ecereNameSpace__ecere__com__Class * __ecereProp___ecereNameSpace__ecere__com__Class_Set_char__PTR_(const char *  value);
865
866 extern struct __ecereNameSpace__ecere__com__Property ** __ecereProp___ecereNameSpace__ecere__com__Class_char__PTR_;
867
868 void __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Get(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Class * class, void * *  data);
869
870 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)
871 {
872 struct __ecereNameSpace__ecere__com__Instance * container = __ecereNameSpace__ecere__com__eInstance_New(__ecereProp___ecereNameSpace__ecere__com__Class_Set_char__PTR_(class->fullName));
873 unsigned int count, c;
874 struct __ecereNameSpace__ecere__com__Class * Dclass = class->templateArgs[2].dataTypeClass;
875 uint64 data;
876
877 __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Get(channel, __ecereClass_uint, &count);
878 if(Dclass->type == 1)
879 data = (uint64)(__ecereNameSpace__ecere__com__eSystem_New(sizeof(unsigned char) * (Dclass->structSize)));
880 for(c = 0; c < count; c++)
881 {
882 ((void (*)(void *, void *, void *))(void *)Dclass->_vTbl[__ecereVMethodID_class_OnUnserialize])(Dclass, (Dclass->type == 1) ? (void *)data : ((char *)&data + __ENDIAN_PAD((class->templateArgs[2].dataTypeClass->type == 1 || class->templateArgs[2].dataTypeClass->type == 0 || class->templateArgs[2].dataTypeClass->type == 5) ? sizeof(void *) : class->templateArgs[2].dataTypeClass->typeSize)), channel);
883 ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, uint64 value))__extension__ ({
884 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = container;
885
886 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
887 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Add])(container, data);
888 }
889 if(Dclass->type == 1)
890 (((void (* )(void *  _class, void *  data))class->templateArgs[2].dataTypeClass->_vTbl[__ecereVMethodID_class_OnFree])(class->templateArgs[2].dataTypeClass, data), data = 0);
891 (*this) = container;
892 }
893
894 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Insert;
895
896 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Move;
897
898 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);
899
900 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__NameSpace;
901
902 struct __ecereNameSpace__ecere__com__NameSpace
903 {
904 const char *  name;
905 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
906 struct __ecereNameSpace__ecere__com__NameSpace *  left;
907 struct __ecereNameSpace__ecere__com__NameSpace *  right;
908 int depth;
909 struct __ecereNameSpace__ecere__com__NameSpace *  parent;
910 struct __ecereNameSpace__ecere__sys__BinaryTree nameSpaces;
911 struct __ecereNameSpace__ecere__sys__BinaryTree classes;
912 struct __ecereNameSpace__ecere__sys__BinaryTree defines;
913 struct __ecereNameSpace__ecere__sys__BinaryTree functions;
914 } __attribute__ ((gcc_struct));
915
916 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Module;
917
918 struct __ecereNameSpace__ecere__com__Module
919 {
920 struct __ecereNameSpace__ecere__com__Instance * application;
921 struct __ecereNameSpace__ecere__sys__OldList classes;
922 struct __ecereNameSpace__ecere__sys__OldList defines;
923 struct __ecereNameSpace__ecere__sys__OldList functions;
924 struct __ecereNameSpace__ecere__sys__OldList modules;
925 struct __ecereNameSpace__ecere__com__Instance * prev;
926 struct __ecereNameSpace__ecere__com__Instance * next;
927 const char *  name;
928 void *  library;
929 void *  Unload;
930 int importType;
931 int origImportType;
932 struct __ecereNameSpace__ecere__com__NameSpace privateNameSpace;
933 struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
934 } __attribute__ ((gcc_struct));
935
936 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
937
938 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);
939
940 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);
941
942 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);
943
944 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateParameter;
945
946 struct __ecereNameSpace__ecere__com__ClassTemplateParameter;
947
948 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);
949
950 extern void __ecereNameSpace__ecere__com__eClass_DoneAddingTemplateParameters(struct __ecereNameSpace__ecere__com__Class * base);
951
952 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);
953
954 void __ecereRegisterModule_Container(struct __ecereNameSpace__ecere__com__Instance * module)
955 {
956 struct __ecereNameSpace__ecere__com__ClassTemplateArgument __simpleStruct2 =
957 {
958 .dataTypeString = "T"
959 };
960 struct __ecereNameSpace__ecere__com__ClassTemplateArgument __simpleStruct1 =
961 {
962 .dataTypeString = "int"
963 };
964 struct __ecereNameSpace__ecere__com__ClassTemplateArgument __simpleStruct0 =
965 {
966 .dataTypeString = "int"
967 };
968 struct __ecereNameSpace__ecere__com__Class * class;
969
970 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(1, "ecere::com::Iterator", 0, sizeof(struct __ecereNameSpace__ecere__com__Iterator), 0, 0, 0, module, 4, 1);
971 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
972 __ecereClass___ecereNameSpace__ecere__com__Iterator = class;
973 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Find", "bool Find(const T value)", __ecereMethod___ecereNameSpace__ecere__com__Iterator_Find, 1);
974 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Free", "void Free()", __ecereMethod___ecereNameSpace__ecere__com__Iterator_Free, 1);
975 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "GetData", "T GetData()", __ecereMethod___ecereNameSpace__ecere__com__Iterator_GetData, 1);
976 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Index", "bool Index(const IT index, bool create)", __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index, 1);
977 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Next", "bool Next()", __ecereMethod___ecereNameSpace__ecere__com__Iterator_Next, 1);
978 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Prev", "bool Prev()", __ecereMethod___ecereNameSpace__ecere__com__Iterator_Prev, 1);
979 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Remove", "void Remove()", __ecereMethod___ecereNameSpace__ecere__com__Iterator_Remove, 1);
980 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "SetData", "bool SetData(T value)", __ecereMethod___ecereNameSpace__ecere__com__Iterator_SetData, 1);
981 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "container", "ecere::com::Container<T, IT>", arch_PointerSize, arch_PointerSize, 1);
982 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "pointer", "ecere::com::IteratorPointer", arch_PointerSize, arch_PointerSize, 1);
983 __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);
984 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application)
985 __ecereProp___ecereNameSpace__ecere__com__Iterator_data = __ecerePropM___ecereNameSpace__ecere__com__Iterator_data, __ecerePropM___ecereNameSpace__ecere__com__Iterator_data = (void *)0;
986 __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(class, "T", 0, 0, (((void *)0)));
987 __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(class, "IT", 0, 0, &__simpleStruct0);
988 __ecereNameSpace__ecere__com__eClass_DoneAddingTemplateParameters(class);
989 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "ecere::com::Container", 0, 0, 0, 0, __ecereDestructor___ecereNameSpace__ecere__com__Container, module, 4, 1);
990 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
991 __ecereClass___ecereNameSpace__ecere__com__Container = class;
992 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnCopy", 0, __ecereMethod___ecereNameSpace__ecere__com__Container_OnCopy, 1);
993 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnFree", 0, __ecereMethod___ecereNameSpace__ecere__com__Container_OnFree, 1);
994 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnGetString", 0, __ecereMethod___ecereNameSpace__ecere__com__Container_OnGetString, 1);
995 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnSerialize", 0, __ecereMethod___ecereNameSpace__ecere__com__Container_OnSerialize, 1);
996 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnUnserialize", 0, __ecereMethod___ecereNameSpace__ecere__com__Container_OnUnserialize, 1);
997 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetFirst", "ecere::com::IteratorPointer GetFirst()", __ecereMethod___ecereNameSpace__ecere__com__Container_GetFirst, 1);
998 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetLast", "ecere::com::IteratorPointer GetLast()", __ecereMethod___ecereNameSpace__ecere__com__Container_GetLast, 1);
999 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetPrev", "ecere::com::IteratorPointer GetPrev(ecere::com::IteratorPointer pointer)", __ecereMethod___ecereNameSpace__ecere__com__Container_GetPrev, 1);
1000 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetNext", "ecere::com::IteratorPointer GetNext(ecere::com::IteratorPointer pointer)", __ecereMethod___ecereNameSpace__ecere__com__Container_GetNext, 1);
1001 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetData", "D GetData(ecere::com::IteratorPointer pointer)", __ecereMethod___ecereNameSpace__ecere__com__Container_GetData, 1);
1002 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "SetData", "bool SetData(ecere::com::IteratorPointer pointer, D data)", 0, 1);
1003 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetAtPosition", "ecere::com::IteratorPointer GetAtPosition(const I pos, bool create)", __ecereMethod___ecereNameSpace__ecere__com__Container_GetAtPosition, 1);
1004 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Insert", "ecere::com::IteratorPointer Insert(ecere::com::IteratorPointer after, T value)", 0, 1);
1005 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Add", "ecere::com::IteratorPointer Add(T value)", 0, 1);
1006 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Remove", "void Remove(ecere::com::IteratorPointer it)", 0, 1);
1007 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Move", "void Move(ecere::com::IteratorPointer it, ecere::com::IteratorPointer after)", 0, 1);
1008 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "RemoveAll", "void RemoveAll()", __ecereMethod___ecereNameSpace__ecere__com__Container_RemoveAll, 1);
1009 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Copy", "void Copy(ecere::com::Container<T> source)", __ecereMethod___ecereNameSpace__ecere__com__Container_Copy, 1);
1010 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Find", "ecere::com::IteratorPointer Find(const D value)", __ecereMethod___ecereNameSpace__ecere__com__Container_Find, 1);
1011 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "FreeIterator", "void FreeIterator(ecere::com::IteratorPointer it)", 0, 1);
1012 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetCount", "int GetCount()", __ecereMethod___ecereNameSpace__ecere__com__Container_GetCount, 1);
1013 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Free", "void Free()", __ecereMethod___ecereNameSpace__ecere__com__Container_Free, 1);
1014 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Delete", "void Delete(ecere::com::IteratorPointer i)", __ecereMethod___ecereNameSpace__ecere__com__Container_Delete, 1);
1015 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "TakeOut", "void TakeOut(const D d)", __ecereMethod___ecereNameSpace__ecere__com__Container_TakeOut, 1);
1016 __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);
1017 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application)
1018 __ecereProp___ecereNameSpace__ecere__com__Container_copySrc = __ecerePropM___ecereNameSpace__ecere__com__Container_copySrc, __ecerePropM___ecereNameSpace__ecere__com__Container_copySrc = (void *)0;
1019 __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);
1020 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application)
1021 __ecereProp___ecereNameSpace__ecere__com__Container_firstIterator = __ecerePropM___ecereNameSpace__ecere__com__Container_firstIterator, __ecerePropM___ecereNameSpace__ecere__com__Container_firstIterator = (void *)0;
1022 __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);
1023 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application)
1024 __ecereProp___ecereNameSpace__ecere__com__Container_lastIterator = __ecerePropM___ecereNameSpace__ecere__com__Container_lastIterator, __ecerePropM___ecereNameSpace__ecere__com__Container_lastIterator = (void *)0;
1025 __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(class, "T", 0, 0, (((void *)0)));
1026 __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(class, "I", 0, 0, &__simpleStruct1);
1027 __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(class, "D", 0, 0, &__simpleStruct2);
1028 __ecereNameSpace__ecere__com__eClass_DoneAddingTemplateParameters(class);
1029 if(class)
1030 class->fixed = (unsigned int)1;
1031 }
1032
1033 void __ecereUnregisterModule_Container(struct __ecereNameSpace__ecere__com__Instance * module)
1034 {
1035
1036 __ecerePropM___ecereNameSpace__ecere__com__Iterator_data = (void *)0;
1037 __ecerePropM___ecereNameSpace__ecere__com__Container_copySrc = (void *)0;
1038 __ecerePropM___ecereNameSpace__ecere__com__Container_firstIterator = (void *)0;
1039 __ecerePropM___ecereNameSpace__ecere__com__Container_lastIterator = (void *)0;
1040 }
1041