45typedef int (*TableHashFn)(
const void *elem,
int numBuckets);
61typedef int (__cdecl *TableCompareFn)(
const void *elem1,
const void *elem2);
63typedef int (*TableCompareFn)(
const void *elem1,
const void *elem2);
72typedef void (*TableMapFn)(
void *elem,
void *clientData);
79typedef int (*TableMapFn2)(
void *elem,
void *clientData);
89typedef void (*TableElementFreeFn)(
void *elem);
127HashTable TableNew(
int elemSize,
int nBuckets,
128 TableHashFn hashFn, TableCompareFn compFn,
129 TableElementFreeFn freeFn);
131HashTable TableNew2(
int elemSize,
int nBuckets,
int nChains,
132 TableHashFn hashFn, TableCompareFn compFn,
133 TableElementFreeFn freeFn);
147void TableFree(HashTable table);
154int TableCount(HashTable table);
167void TableEnter(HashTable table,
const void *newElem);
175int TableRemove(HashTable table,
const void *delElem);
185void *TableLookup(HashTable table,
const void *elemKey);
198void TableMap(HashTable table, TableMapFn fn,
void *clientData);
204void TableMapSafe(HashTable table, TableMapFn fn,
void *clientData);
213void * TableMap2(HashTable table, TableMapFn2 fn,
void *clientData);
219void * TableMapSafe2(HashTable table, TableMapFn2 fn,
void *clientData);
225void TableClear(HashTable table);
Definition hashtable.c:35