18 /* ObjectHash *********************************************************/
20 struct ObjectHash * noargallocateObjectHash();
21 struct ObjectHash * allocateObjectHash(int size);
22 void ObjectHashaddChild(struct ObjectHash *thisvar, struct ObjectHash * child);
23 void freeObjectHash(struct ObjectHash *);
25 void ObjectHashrehash(struct ObjectHash * thisvar);
26 int ObjectHashadd(struct ObjectHash *, int key, int data, int data2, int data3, int data4);
27 int ObjectHashremove(struct ObjectHash *,int key);
28 bool ObjectHashcontainskey(struct ObjectHash *,int key);
29 bool ObjectHashcontainskeydata(struct ObjectHash *,int key, int data);
30 int ObjectHashget(struct ObjectHash *,int key, int* data, int* data2, int * data3, int* data4);
31 void ObjectHashaddParent(struct ObjectHash *,struct ObjectHash* parent);
32 int ObjectHashfirstkey(struct ObjectHash *);
33 struct ObjectIterator* ObjectHashcreateiterator(struct ObjectHash *);
34 void ObjectHashiterator(struct ObjectHash *, struct ObjectIterator * it);
35 int ObjectHashcount(struct ObjectHash *, int key);
40 struct ObjectNode **bucket;
41 struct ObjectNode *listhead;
42 struct ObjectNode *listtail;
45 inline int ObjectHashcountset(struct ObjectHash * thisvar);
47 /* ObjectIterator *****************************************************/
50 struct ObjectNode *next;
51 struct ObjectNode *lnext;
52 struct ObjectNode *lprev;
60 struct ObjectIterator {
61 struct ObjectNode *cur;
64 inline struct ObjectIterator * noargallocateObjectIterator();
66 inline struct ObjectIterator * allocateObjectIterator(struct ObjectNode *start);
68 inline int ObjhasNext(struct ObjectIterator *thisvar);
70 inline int Objnext(struct ObjectIterator *thisvar);
72 inline int Objkey(struct ObjectIterator *thisvar);
74 inline int Objdata(struct ObjectIterator *thisvar);
75 inline int Objdata2(struct ObjectIterator *thisvar);
76 inline int Objdata3(struct ObjectIterator *thisvar);
77 inline int Objdata4(struct ObjectIterator *thisvar);