1 /* Code generated from eC source file: LinkList.ec */
3 #define __runtimePlatform 1
4 #elif defined(__APPLE__)
5 #define __runtimePlatform 3
7 #define __runtimePlatform 2
10 typedef long long int64;
11 typedef unsigned long long uint64;
15 #elif defined(__TINYC__)
17 #define __builtin_va_list va_list
18 #define __builtin_va_start va_start
19 #define __builtin_va_end va_end
21 #define strcasecmp stricmp
22 #define strncasecmp strnicmp
23 #define __declspec(x) __attribute__((x))
27 typedef long long int64;
28 typedef unsigned long long uint64;
30 typedef __int64 int64;
31 typedef unsigned __int64 uint64;
34 #define __ENDIAN_PAD(x) (8 - (x))
36 #define __ENDIAN_PAD(x) 0
39 #include <sys/types.h>
41 #if /*defined(_W64) || */(defined(__WORDSIZE) && __WORDSIZE == 8) || defined(__x86_64__)
47 #define arch_PointerSize sizeof(void *)
48 #define structSize_Instance (_64BIT ? 24 : 12)
49 #define structSize_LinkElement (_64BIT ? 16 : 8)
51 struct __ecereNameSpace__ecere__com__Instance;
53 extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
55 extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
57 extern void * __ecereNameSpace__ecere__com__eSystem_Renew(void * memory, unsigned int size);
59 extern void * __ecereNameSpace__ecere__com__eSystem_Renew0(void * memory, unsigned int size);
61 extern void __ecereNameSpace__ecere__com__eSystem_Delete(void * memory);
63 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__BTNode;
65 struct __ecereNameSpace__ecere__sys__BTNode;
67 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__BinaryTree;
69 struct __ecereNameSpace__ecere__sys__BinaryTree
71 struct __ecereNameSpace__ecere__sys__BTNode * root;
73 int (* CompareKey)(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, uintptr_t a, uintptr_t b);
74 void (* FreeKey)(void * key);
75 } __attribute__ ((gcc_struct));
77 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__OldList;
79 struct __ecereNameSpace__ecere__sys__OldList
86 } __attribute__ ((gcc_struct));
88 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Class;
90 struct __ecereNameSpace__ecere__com__Class
92 struct __ecereNameSpace__ecere__com__Class * prev;
93 struct __ecereNameSpace__ecere__com__Class * next;
99 int (* Constructor)(struct __ecereNameSpace__ecere__com__Instance *);
100 void (* Destructor)(struct __ecereNameSpace__ecere__com__Instance *);
103 struct __ecereNameSpace__ecere__com__Class * base;
104 struct __ecereNameSpace__ecere__sys__BinaryTree methods;
105 struct __ecereNameSpace__ecere__sys__BinaryTree members;
106 struct __ecereNameSpace__ecere__sys__BinaryTree prop;
107 struct __ecereNameSpace__ecere__sys__OldList membersAndProperties;
108 struct __ecereNameSpace__ecere__sys__BinaryTree classProperties;
109 struct __ecereNameSpace__ecere__sys__OldList derivatives;
113 struct __ecereNameSpace__ecere__com__Instance * module;
114 struct __ecereNameSpace__ecere__com__NameSpace * nameSpace;
115 const char * dataTypeString;
116 struct __ecereNameSpace__ecere__com__Instance * dataType;
118 int defaultAlignment;
119 void (* Initialize)();
121 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
122 const char * designerClass;
123 unsigned int noExpansion;
124 const char * defaultProperty;
125 unsigned int comRedefinition;
128 unsigned int internalDecl;
130 unsigned int computeSize;
132 int destructionWatchOffset;
134 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
135 int inheritanceAccess;
136 const char * fullName;
138 struct __ecereNameSpace__ecere__sys__OldList conversions;
139 struct __ecereNameSpace__ecere__sys__OldList templateParams;
140 struct __ecereNameSpace__ecere__com__ClassTemplateArgument * templateArgs;
141 struct __ecereNameSpace__ecere__com__Class * templateClass;
142 struct __ecereNameSpace__ecere__sys__OldList templatized;
144 unsigned int isInstanceClass;
145 unsigned int byValueSystemClass;
146 } __attribute__ ((gcc_struct));
148 extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char * name);
150 extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char * name, long long value);
152 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Property;
154 struct __ecereNameSpace__ecere__com__Property
156 struct __ecereNameSpace__ecere__com__Property * prev;
157 struct __ecereNameSpace__ecere__com__Property * next;
159 unsigned int isProperty;
162 struct __ecereNameSpace__ecere__com__Class * _class;
163 const char * dataTypeString;
164 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
165 struct __ecereNameSpace__ecere__com__Instance * dataType;
166 void (* Set)(void * , int);
167 int (* Get)(void * );
168 unsigned int (* IsSet)(void * );
172 unsigned int conversion;
173 unsigned int watcherOffset;
174 const char * category;
175 unsigned int compiled;
176 unsigned int selfWatchable;
177 unsigned int isWatchable;
178 } __attribute__ ((gcc_struct));
180 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
182 extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char * name, void * function);
184 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
186 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);
188 extern void __ecereNameSpace__ecere__com__eInstance_Watch(void * instance, struct __ecereNameSpace__ecere__com__Property * _property, void * object, void (* callback)(void * , void * ));
190 extern void __ecereNameSpace__ecere__com__eInstance_FireWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
192 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Instance;
194 struct __ecereNameSpace__ecere__com__Instance
197 struct __ecereNameSpace__ecere__com__Class * _class;
199 } __attribute__ ((gcc_struct));
201 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DataMember;
203 struct __ecereNameSpace__ecere__com__DataMember
205 struct __ecereNameSpace__ecere__com__DataMember * prev;
206 struct __ecereNameSpace__ecere__com__DataMember * next;
208 unsigned int isProperty;
211 struct __ecereNameSpace__ecere__com__Class * _class;
212 const char * dataTypeString;
213 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
214 struct __ecereNameSpace__ecere__com__Instance * dataType;
218 struct __ecereNameSpace__ecere__sys__OldList members;
219 struct __ecereNameSpace__ecere__sys__BinaryTree membersAlpha;
222 } __attribute__ ((gcc_struct));
224 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Method;
226 struct __ecereNameSpace__ecere__com__Method
229 struct __ecereNameSpace__ecere__com__Method * parent;
230 struct __ecereNameSpace__ecere__com__Method * left;
231 struct __ecereNameSpace__ecere__com__Method * right;
236 struct __ecereNameSpace__ecere__com__Class * _class;
238 const char * dataTypeString;
239 struct __ecereNameSpace__ecere__com__Instance * dataType;
241 } __attribute__ ((gcc_struct));
243 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__SerialBuffer;
245 struct __ecereNameSpace__ecere__com__SerialBuffer
247 unsigned char * _buffer;
251 } __attribute__ ((gcc_struct));
253 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DataValue;
255 struct __ecereNameSpace__ecere__com__DataValue
270 } __attribute__ ((gcc_struct)) __anon1;
271 } __attribute__ ((gcc_struct));
273 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateArgument;
275 struct __ecereNameSpace__ecere__com__ClassTemplateArgument
281 const char * dataTypeString;
282 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
283 } __attribute__ ((gcc_struct)) __anon1;
284 struct __ecereNameSpace__ecere__com__DataValue expression;
287 const char * memberString;
290 struct __ecereNameSpace__ecere__com__DataMember * member;
291 struct __ecereNameSpace__ecere__com__Property * prop;
292 struct __ecereNameSpace__ecere__com__Method * method;
293 } __attribute__ ((gcc_struct)) __anon1;
294 } __attribute__ ((gcc_struct)) __anon2;
295 } __attribute__ ((gcc_struct)) __anon1;
296 } __attribute__ ((gcc_struct));
298 struct __ecereNameSpace__ecere__com__LinkElement
301 } __attribute__ ((gcc_struct));
303 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__LinkElement;
305 struct __ecereNameSpace__ecere__com__ListItem
309 struct __ecereNameSpace__ecere__com__LinkElement link;
312 struct __ecereNameSpace__ecere__com__ListItem * prev, * next;
313 } __attribute__ ((gcc_struct)) __anon1;
314 } __attribute__ ((gcc_struct)) __anon1;
315 } __attribute__ ((gcc_struct));
317 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ListItem;
319 struct __ecereNameSpace__ecere__com__LinkList
321 void * first, * last;
323 } __attribute__ ((gcc_struct));
325 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__LinkList;
327 void * __ecereMethod___ecereNameSpace__ecere__com__LinkList_GetFirst(struct __ecereNameSpace__ecere__com__Instance * this)
329 struct __ecereNameSpace__ecere__com__LinkList * __ecerePointer___ecereNameSpace__ecere__com__LinkList = (struct __ecereNameSpace__ecere__com__LinkList *)(this ? (((char *)this) + structSize_Instance) : 0);
331 return ((void * )(__ecerePointer___ecereNameSpace__ecere__com__LinkList->first));
334 void * __ecereMethod___ecereNameSpace__ecere__com__LinkList_GetLast(struct __ecereNameSpace__ecere__com__Instance * this)
336 struct __ecereNameSpace__ecere__com__LinkList * __ecerePointer___ecereNameSpace__ecere__com__LinkList = (struct __ecereNameSpace__ecere__com__LinkList *)(this ? (((char *)this) + structSize_Instance) : 0);
338 return ((void * )(__ecerePointer___ecereNameSpace__ecere__com__LinkList->last));
341 void * __ecereMethod___ecereNameSpace__ecere__com__LinkList_GetPrev(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__IteratorPointer * item)
343 struct __ecereNameSpace__ecere__com__LinkList * __ecerePointer___ecereNameSpace__ecere__com__LinkList = (struct __ecereNameSpace__ecere__com__LinkList *)(this ? (((char *)this) + structSize_Instance) : 0);
345 return ((void * )((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void *)item)) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).prev));
348 void * __ecereMethod___ecereNameSpace__ecere__com__LinkList_GetNext(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__IteratorPointer * item)
350 struct __ecereNameSpace__ecere__com__LinkList * __ecerePointer___ecereNameSpace__ecere__com__LinkList = (struct __ecereNameSpace__ecere__com__LinkList *)(this ? (((char *)this) + structSize_Instance) : 0);
352 return ((void * )((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void *)item)) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next));
355 void * __ecereMethod___ecereNameSpace__ecere__com__LinkList_GetData(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer)
357 struct __ecereNameSpace__ecere__com__LinkList * __ecerePointer___ecereNameSpace__ecere__com__LinkList = (struct __ecereNameSpace__ecere__com__LinkList *)(this ? (((char *)this) + structSize_Instance) : 0);
359 return (void *)pointer;
362 struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereNameSpace__ecere__com__LinkList_GetAtPosition(struct __ecereNameSpace__ecere__com__Instance * this, const uint64 pos, unsigned int create)
364 struct __ecereNameSpace__ecere__com__LinkList * __ecerePointer___ecereNameSpace__ecere__com__LinkList = (struct __ecereNameSpace__ecere__com__LinkList *)(this ? (((char *)this) + structSize_Instance) : 0);
368 for(c = 0, item = ((void * )(__ecerePointer___ecereNameSpace__ecere__com__LinkList->first)); c < (int)((const uint64)(pos)) && item; c++, item = ((void * )((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void *)(item))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next)))
370 return (struct __ecereNameSpace__ecere__com__IteratorPointer *)((void *)(item));
373 unsigned int __ecereMethod___ecereNameSpace__ecere__com__LinkList_SetData(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer, uint64 data)
375 struct __ecereNameSpace__ecere__com__LinkList * __ecerePointer___ecereNameSpace__ecere__com__LinkList = (struct __ecereNameSpace__ecere__com__LinkList *)(this ? (((char *)this) + structSize_Instance) : 0);
380 struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereNameSpace__ecere__com__LinkList_Add(struct __ecereNameSpace__ecere__com__Instance * this, uint64 item)
382 struct __ecereNameSpace__ecere__com__LinkList * __ecerePointer___ecereNameSpace__ecere__com__LinkList = (struct __ecereNameSpace__ecere__com__LinkList *)(this ? (((char *)this) + structSize_Instance) : 0);
386 (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void *)(item))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).prev = ((void * )(__ecerePointer___ecereNameSpace__ecere__com__LinkList->last));
387 if((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void *)(item))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).prev)
388 (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void * )((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void *)(item))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).prev))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next = ((void * )(item));
389 if(!((void *)(__ecerePointer___ecereNameSpace__ecere__com__LinkList->first)))
390 __ecerePointer___ecereNameSpace__ecere__com__LinkList->first = ((void * )(item));
391 __ecerePointer___ecereNameSpace__ecere__com__LinkList->last = ((void * )(item));
392 (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void *)(item))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next = ((void * )((*(unsigned int *)&((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[4]) ? ((void * )(__ecerePointer___ecereNameSpace__ecere__com__LinkList->first)) : (((void *)0))));
393 if((*(unsigned int *)&((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[4]))
394 (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void * )(__ecerePointer___ecereNameSpace__ecere__com__LinkList->first))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).prev = ((void * )(item));
395 __ecerePointer___ecereNameSpace__ecere__com__LinkList->count++;
397 return (struct __ecereNameSpace__ecere__com__IteratorPointer *)((void *)(item));
400 struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereNameSpace__ecere__com__LinkList_Insert(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__IteratorPointer * _prevItem, uint64 item)
402 struct __ecereNameSpace__ecere__com__LinkList * __ecerePointer___ecereNameSpace__ecere__com__LinkList = (struct __ecereNameSpace__ecere__com__LinkList *)(this ? (((char *)this) + structSize_Instance) : 0);
403 void * prevItem = (void *)_prevItem;
405 if(item && prevItem != ((void * )(item)))
407 (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((uint64)(item))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).prev = ((void * )(prevItem ? ((void * )(prevItem)) : (((void * )((*(unsigned int *)&((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[4]) ? ((void * )(__ecerePointer___ecereNameSpace__ecere__com__LinkList->last)) : (((void *)0)))))));
410 (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((uint64)(item))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next = ((void * )((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void *)(prevItem))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next));
411 (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void *)(prevItem))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next = ((void * )(item));
415 (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((uint64)(item))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next = ((void * )(__ecerePointer___ecereNameSpace__ecere__com__LinkList->first));
416 __ecerePointer___ecereNameSpace__ecere__com__LinkList->first = ((void * )(item));
417 if((*(unsigned int *)&((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[4]))
419 if((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((uint64)(item))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).prev)
420 (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void * )((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((uint64)(item))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).prev))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next = ((void * )(item));
422 (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((uint64)(item))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next = ((void * )(item));
425 if(((void * )(prevItem)) == ((void * )(__ecerePointer___ecereNameSpace__ecere__com__LinkList->last)))
426 __ecerePointer___ecereNameSpace__ecere__com__LinkList->last = ((void * )(item));
427 if((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((uint64)(item))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next)
428 (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void * )((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((uint64)(item))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).prev = ((void * )(item));
429 __ecerePointer___ecereNameSpace__ecere__com__LinkList->count++;
430 return (struct __ecereNameSpace__ecere__com__IteratorPointer *)((uint64)(item));
432 return (((void *)0));
435 void __ecereMethod___ecereNameSpace__ecere__com__LinkList_Remove(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__IteratorPointer * _item)
437 struct __ecereNameSpace__ecere__com__LinkList * __ecerePointer___ecereNameSpace__ecere__com__LinkList = (struct __ecereNameSpace__ecere__com__LinkList *)(this ? (((char *)this) + structSize_Instance) : 0);
438 void * item = (void *)_item;
442 if((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void *)(item))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).prev)
443 (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void * )((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void *)(item))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).prev))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next = ((void * )((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void *)(item))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next));
444 if((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void *)(item))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next)
445 (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void * )((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void *)(item))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).prev = ((void * )((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void *)(item))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).prev));
446 if((*(unsigned int *)&((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[4]) && ((void * )(__ecerePointer___ecereNameSpace__ecere__com__LinkList->last)) == ((void * )(__ecerePointer___ecereNameSpace__ecere__com__LinkList->first)))
447 __ecerePointer___ecereNameSpace__ecere__com__LinkList->last = __ecerePointer___ecereNameSpace__ecere__com__LinkList->first = (((void *)0));
450 if(((void * )(__ecerePointer___ecereNameSpace__ecere__com__LinkList->last)) == ((void * )(item)))
451 __ecerePointer___ecereNameSpace__ecere__com__LinkList->last = ((void * )((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void *)(item))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).prev));
452 if(((void * )(__ecerePointer___ecereNameSpace__ecere__com__LinkList->first)) == ((void * )(item)))
453 __ecerePointer___ecereNameSpace__ecere__com__LinkList->first = ((void * )((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void *)(item))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next));
455 (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void *)(item))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).prev = (((void *)0));
456 (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void *)(item))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next = (((void *)0));
457 __ecerePointer___ecereNameSpace__ecere__com__LinkList->count--;
461 void __ecereMethod___ecereNameSpace__ecere__com__LinkList_Move(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__IteratorPointer * _item, struct __ecereNameSpace__ecere__com__IteratorPointer * _prevItem)
463 struct __ecereNameSpace__ecere__com__LinkList * __ecerePointer___ecereNameSpace__ecere__com__LinkList = (struct __ecereNameSpace__ecere__com__LinkList *)(this ? (((char *)this) + structSize_Instance) : 0);
464 void * item = (void *)_item;
465 void * prevItem = (void *)_prevItem;
469 if(((void * )(prevItem)) != ((void * )(item)) && (((void * )(__ecerePointer___ecereNameSpace__ecere__com__LinkList->first)) != ((void * )(item)) || prevItem))
471 if((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void *)(item))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).prev)
472 (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void * )((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void *)(item))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).prev))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next = ((void * )((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void *)(item))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next));
473 if((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void *)(item))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next)
474 (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void * )((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void *)(item))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).prev = ((void * )((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void *)(item))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).prev));
475 if(((void * )(item)) == ((void * )(__ecerePointer___ecereNameSpace__ecere__com__LinkList->first)))
476 __ecerePointer___ecereNameSpace__ecere__com__LinkList->first = ((void * )((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void *)(item))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next));
477 if(((void * )(item)) == ((void * )(__ecerePointer___ecereNameSpace__ecere__com__LinkList->last)))
478 __ecerePointer___ecereNameSpace__ecere__com__LinkList->last = ((void * )((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void *)(item))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).prev));
479 if(((void * )(prevItem)) == ((void * )(__ecerePointer___ecereNameSpace__ecere__com__LinkList->last)))
480 __ecerePointer___ecereNameSpace__ecere__com__LinkList->last = ((void * )(item));
481 (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void *)(item))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).prev = ((void * )(prevItem ? ((void * )(prevItem)) : (((void * )((*(unsigned int *)&((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[4]) ? ((void * )(__ecerePointer___ecereNameSpace__ecere__com__LinkList->last)) : (((void *)0)))))));
484 (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void *)(item))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next = ((void * )((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void *)(prevItem))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next));
485 (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void *)(prevItem))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next = ((void * )(item));
489 (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void *)(item))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next = ((void * )(__ecerePointer___ecereNameSpace__ecere__com__LinkList->first));
490 __ecerePointer___ecereNameSpace__ecere__com__LinkList->first = ((void * )(item));
491 if((*(unsigned int *)&((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[4]))
493 if((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void *)(item))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).prev)
494 (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void * )((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void *)(item))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).prev))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next = ((void * )(item));
496 (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void *)(item))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next = ((void * )(item));
499 if((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void *)(item))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next)
500 (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void * )((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void *)(item))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next))) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).prev = ((void * )(item));
505 struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereNameSpace__ecere__com__LinkList_Find(struct __ecereNameSpace__ecere__com__Instance * this, uint64 value)
507 struct __ecereNameSpace__ecere__com__LinkList * __ecerePointer___ecereNameSpace__ecere__com__LinkList = (struct __ecereNameSpace__ecere__com__LinkList *)(this ? (((char *)this) + structSize_Instance) : 0);
509 return (struct __ecereNameSpace__ecere__com__IteratorPointer *)((void *)(value));
512 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Remove;
514 int __ecereVMethodID_class_OnFree;
516 void __ecereMethod___ecereNameSpace__ecere__com__LinkList_Free(struct __ecereNameSpace__ecere__com__Instance * this)
518 struct __ecereNameSpace__ecere__com__LinkList * __ecerePointer___ecereNameSpace__ecere__com__LinkList = (struct __ecereNameSpace__ecere__com__LinkList *)(this ? (((char *)this) + structSize_Instance) : 0);
521 while((item = ((void * )(__ecerePointer___ecereNameSpace__ecere__com__LinkList->first))))
523 ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it))__extension__ ({
524 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
526 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__LinkList->_vTbl;
527 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Remove])(this, ((void *)(item)));
528 (((void (* )(void * _class, void * data))((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[3].__anon1.__anon1.dataTypeClass->_vTbl[__ecereVMethodID_class_OnFree])(((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[3].__anon1.__anon1.dataTypeClass, ((void * )(item))), item = 0);
532 void __ecereMethod___ecereNameSpace__ecere__com__LinkList_Delete(struct __ecereNameSpace__ecere__com__Instance * this, uint64 item)
534 struct __ecereNameSpace__ecere__com__LinkList * __ecerePointer___ecereNameSpace__ecere__com__LinkList = (struct __ecereNameSpace__ecere__com__LinkList *)(this ? (((char *)this) + structSize_Instance) : 0);
536 ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it))__extension__ ({
537 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
539 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__LinkList->_vTbl;
540 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Remove])(this, ((void *)(item)));
541 (((void (* )(void * _class, void * data))((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[3].__anon1.__anon1.dataTypeClass->_vTbl[__ecereVMethodID_class_OnFree])(((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[3].__anon1.__anon1.dataTypeClass, ((void * )(item))), item = 0);
544 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);
546 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__NameSpace;
548 struct __ecereNameSpace__ecere__com__NameSpace
551 struct __ecereNameSpace__ecere__com__NameSpace * btParent;
552 struct __ecereNameSpace__ecere__com__NameSpace * left;
553 struct __ecereNameSpace__ecere__com__NameSpace * right;
555 struct __ecereNameSpace__ecere__com__NameSpace * parent;
556 struct __ecereNameSpace__ecere__sys__BinaryTree nameSpaces;
557 struct __ecereNameSpace__ecere__sys__BinaryTree classes;
558 struct __ecereNameSpace__ecere__sys__BinaryTree defines;
559 struct __ecereNameSpace__ecere__sys__BinaryTree functions;
560 } __attribute__ ((gcc_struct));
562 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Module;
564 struct __ecereNameSpace__ecere__com__Module
566 struct __ecereNameSpace__ecere__com__Instance * application;
567 struct __ecereNameSpace__ecere__sys__OldList classes;
568 struct __ecereNameSpace__ecere__sys__OldList defines;
569 struct __ecereNameSpace__ecere__sys__OldList functions;
570 struct __ecereNameSpace__ecere__sys__OldList modules;
571 struct __ecereNameSpace__ecere__com__Instance * prev;
572 struct __ecereNameSpace__ecere__com__Instance * next;
578 struct __ecereNameSpace__ecere__com__NameSpace privateNameSpace;
579 struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
580 } __attribute__ ((gcc_struct));
582 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
584 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);
586 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateParameter;
588 struct __ecereNameSpace__ecere__com__ClassTemplateParameter;
590 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);
592 extern void __ecereNameSpace__ecere__com__eClass_DoneAddingTemplateParameters(struct __ecereNameSpace__ecere__com__Class * base);
594 extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eMember_New(int type, int declMode);
596 extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eMember_AddDataMember(struct __ecereNameSpace__ecere__com__DataMember * member, const char * name, const char * type, unsigned int size, unsigned int alignment, int declMode);
598 extern unsigned int __ecereNameSpace__ecere__com__eMember_AddMember(struct __ecereNameSpace__ecere__com__DataMember * addTo, struct __ecereNameSpace__ecere__com__DataMember * dataMember);
600 extern unsigned int __ecereNameSpace__ecere__com__eClass_AddMember(struct __ecereNameSpace__ecere__com__Class * _class, struct __ecereNameSpace__ecere__com__DataMember * dataMember);
602 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);
604 void __ecereRegisterModule_LinkList(struct __ecereNameSpace__ecere__com__Instance * module)
606 struct __ecereNameSpace__ecere__com__ClassTemplateArgument __simpleStruct3 =
612 .dataTypeString = "LT::link"
616 struct __ecereNameSpace__ecere__com__DataValue __simpleStruct2 =
623 struct __ecereNameSpace__ecere__com__ClassTemplateArgument __simpleStruct1 =
630 }, .expression = (__simpleStruct2.__anon1.ui64 = 0, __simpleStruct2)
633 struct __ecereNameSpace__ecere__com__ClassTemplateArgument __simpleStruct0 =
639 .dataTypeString = "ecere::com::ListItem"
643 struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
645 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(1, "ecere::com::LinkElement", 0, sizeof(struct __ecereNameSpace__ecere__com__LinkElement), 0, 0, 0, module, 4, 1);
646 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
647 __ecereClass___ecereNameSpace__ecere__com__LinkElement = class;
648 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "prev", "T", arch_PointerSize, arch_PointerSize, 1);
649 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "next", "T", arch_PointerSize, arch_PointerSize, 1);
650 __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(class, "T", 0, "void *", (((void *)0)));
651 __ecereNameSpace__ecere__com__eClass_DoneAddingTemplateParameters(class);
652 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(5, "ecere::com::ListItem", "ecere::com::IteratorPointer", sizeof(struct __ecereNameSpace__ecere__com__ListItem), 0, 0, 0, module, 4, 1);
653 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
654 __ecereClass___ecereNameSpace__ecere__com__ListItem = class;
656 struct __ecereNameSpace__ecere__com__DataMember * dataMember0 = __ecereNameSpace__ecere__com__eMember_New(1, 1);
658 __ecereNameSpace__ecere__com__eMember_AddDataMember(dataMember0, "link", "ecere::com::LinkElement<thisclass>", structSize_LinkElement, arch_PointerSize, 1);
660 struct __ecereNameSpace__ecere__com__DataMember * dataMember1 = __ecereNameSpace__ecere__com__eMember_New(2, 1);
662 __ecereNameSpace__ecere__com__eMember_AddDataMember(dataMember1, "prev", "thisclass", arch_PointerSize, arch_PointerSize, 1);
663 __ecereNameSpace__ecere__com__eMember_AddDataMember(dataMember1, "next", "thisclass", arch_PointerSize, arch_PointerSize, 1);
664 __ecereNameSpace__ecere__com__eMember_AddMember(dataMember0, dataMember1);
666 __ecereNameSpace__ecere__com__eClass_AddMember(class, dataMember0);
669 class->fixed = (unsigned int)1;
670 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "ecere::com::LinkList", "ecere::com::Container<LT>", sizeof(struct __ecereNameSpace__ecere__com__LinkList), 0, 0, 0, module, 4, 1);
671 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
672 __ecereClass___ecereNameSpace__ecere__com__LinkList = class;
673 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "GetFirst", 0, __ecereMethod___ecereNameSpace__ecere__com__LinkList_GetFirst, 1);
674 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "GetLast", 0, __ecereMethod___ecereNameSpace__ecere__com__LinkList_GetLast, 1);
675 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "GetPrev", 0, __ecereMethod___ecereNameSpace__ecere__com__LinkList_GetPrev, 1);
676 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "GetNext", 0, __ecereMethod___ecereNameSpace__ecere__com__LinkList_GetNext, 1);
677 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "GetData", 0, __ecereMethod___ecereNameSpace__ecere__com__LinkList_GetData, 1);
678 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "SetData", 0, __ecereMethod___ecereNameSpace__ecere__com__LinkList_SetData, 1);
679 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "GetAtPosition", 0, __ecereMethod___ecereNameSpace__ecere__com__LinkList_GetAtPosition, 1);
680 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Insert", 0, __ecereMethod___ecereNameSpace__ecere__com__LinkList_Insert, 1);
681 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Add", 0, __ecereMethod___ecereNameSpace__ecere__com__LinkList_Add, 1);
682 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Remove", 0, __ecereMethod___ecereNameSpace__ecere__com__LinkList_Remove, 1);
683 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Move", 0, __ecereMethod___ecereNameSpace__ecere__com__LinkList_Move, 1);
684 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Find", 0, __ecereMethod___ecereNameSpace__ecere__com__LinkList_Find, 1);
685 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Free", 0, __ecereMethod___ecereNameSpace__ecere__com__LinkList_Free, 1);
686 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Delete", 0, __ecereMethod___ecereNameSpace__ecere__com__LinkList_Delete, 1);
687 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "first", "LT", arch_PointerSize, arch_PointerSize, 1);
688 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "last", "LT", arch_PointerSize, arch_PointerSize, 1);
689 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "count", "int", 4, 4, 1);
690 __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(class, "LT", 0, "void *", &__simpleStruct0);
691 __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(class, "circ", 2, "bool", &__simpleStruct1);
692 __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(class, "link", 1, (void *)0, &__simpleStruct3);
693 __ecereNameSpace__ecere__com__eClass_DoneAddingTemplateParameters(class);
695 class->fixed = (unsigned int)1;
698 void __ecereUnregisterModule_LinkList(struct __ecereNameSpace__ecere__com__Instance * module)