00001
00008 #ifndef HASHMAP_H_INCLUDED
00009 #define HASHMAP_H_INCLUDED
00010
00011
00012 typedef struct sHashmap hashmap;
00013
00014 #define HASHMAP_ILLEGAL 0
00015 #define HASHMAP_INSERT 1
00016 #define HASHMAP_UPDATE 2
00022 typedef void(*fHashmapProc)(const char* key, const void* datum);
00023
00031 extern hashmap* newHashmap(unsigned int hint);
00032
00037 extern void deleteHashmap(hashmap* map);
00038
00050 extern int hashmapSet(hashmap* map, void* data, const char* key);
00051
00060 extern void* hashmapGet(const hashmap* map, const char* key);
00061
00071 extern void* hashmapRemove(hashmap* map, const char* key);
00072
00080 extern void hashmapProcess(const hashmap* map, fHashmapProc proc);
00081
00082 #endif