2003-04-07 16:38:34 +00:00
|
|
|
#ifndef __ruamoko_hash_h
|
|
|
|
#define __ruamoko_hash_h
|
|
|
|
|
2010-01-13 06:34:32 +00:00
|
|
|
struct _hashtab_t {};
|
2003-07-30 04:11:45 +00:00
|
|
|
typedef struct _hashtab_t [] hashtab_t;
|
2003-04-07 16:38:34 +00:00
|
|
|
|
2010-12-01 23:04:18 +00:00
|
|
|
@extern hashtab_t Hash_NewTable (integer size, string (void []ele, void []data) gk, void (void []ele, void []data) f, void [] ud);
|
|
|
|
@extern void Hash_SetHashCompare (hashtab_t tab, unsigned (void []ele, void []data) gh, integer (void [] ele1, void [] ele2, void [] data) cmp);
|
|
|
|
@extern void Hash_DelTable (hashtab_t tab);
|
|
|
|
@extern void Hash_FlushTable (hashtab_t tab);
|
|
|
|
@extern integer Hash_Add (hashtab_t tab, void [] ele);
|
|
|
|
@extern integer Hash_AddElement (hashtab_t tab, void [] ele);
|
|
|
|
@extern (void []) Hash_Find (hashtab_t tab, string key);
|
|
|
|
@extern (void []) Hash_FindElement (hashtab_t tab, void [] ele);
|
|
|
|
@extern (void [][]) Hash_FindList (hashtab_t tab, string key);
|
|
|
|
@extern (void [][]) Hash_FindElementList (hashtab_t tab, void [] ele);
|
|
|
|
@extern (void []) Hash_Del (hashtab_t tab, string key);
|
|
|
|
@extern (void []) Hash_DelElement (hashtab_t tab, void [] ele);
|
|
|
|
@extern void Hash_Free (hashtab_t tab, void [] ele);
|
|
|
|
@extern integer Hash_String (string str);
|
|
|
|
@extern integer Hash_Buffer (void [] buf, integer len);
|
|
|
|
@extern (void [][]) Hash_GetList (hashtab_t tab);
|
|
|
|
@extern void Hash_Stats (hashtab_t tab);
|
2003-04-07 16:38:34 +00:00
|
|
|
|
2003-07-29 18:02:03 +00:00
|
|
|
#endif // __ruamoko_hash_h
|