20 #ifndef JABBERWERX_UTIL_HTABLE_H
21 #define JABBERWERX_UTIL_HTABLE_H
23 #include "../basics.h"
78 bool replace,
bool destroy_key,
void *key,
void *data);
349 bool replace,
bool destroy_key,
void *key,
void *data);
#define JABBERWERX_API
Definition: basics.h:32
JABBERWERX_API const void * jw_hnode_get_key(jw_hnode *node)
unsigned int(* jw_htable_hashfunc)(const void *key)
Definition: htable.h:42
JABBERWERX_API void * jw_hnode_get_value(jw_hnode *node)
JABBERWERX_API jw_htable_cmpfunc jw_str_compare
JABBERWERX_API void jw_htable_remove_node(jw_htable *tbl, jw_hnode *node)
void(* jw_htable_cleanfunc)(bool replace, bool destroy_key, void *key, void *data)
Definition: htable.h:77
JABBERWERX_API unsigned int jw_int_hashcode(const void *key)
JABBERWERX_API jw_hnode * jw_htable_get_first_node(jw_htable *tbl)
JABBERWERX_API void jw_hnode_put_value(jw_hnode *node, void *data, jw_htable_cleanfunc cleaner)
int(* jw_htable_cmpfunc)(const void *key1, const void *key2)
Definition: htable.h:54
struct _jw_hnode jw_hnode
Definition: htable.h:30
JABBERWERX_API bool jw_htable_put(jw_htable *tbl, const void *key, void *value, jw_htable_cleanfunc cleaner, jw_err *err)
JABBERWERX_API unsigned int jw_htable_get_count(jw_htable *tbl)
JABBERWERX_API unsigned int jw_strcase_hashcode(const void *key)
JABBERWERX_API jw_htable_cmpfunc jw_strcase_compare
JABBERWERX_API unsigned int jw_htable_walk(jw_htable *tbl, jw_htable_walkfunc func, void *user_data)
int(* jw_htable_walkfunc)(void *user_data, const void *key, void *data)
Definition: htable.h:64
JABBERWERX_API int jw_int_compare(const void *key1, const void *key2)
JABBERWERX_API void * jw_htable_get(jw_htable *tbl, const void *key)
struct _jw_htable jw_htable
Definition: htable.h:27
JABBERWERX_API void jw_htable_clear(jw_htable *tbl)
JABBERWERX_API jw_hnode * jw_htable_get_node(jw_htable *tbl, const void *key)
JABBERWERX_API jw_hnode * jw_htable_get_next_node(jw_htable *tbl, jw_hnode *cur)
JABBERWERX_API unsigned int jw_str_hashcode(const void *key)
JABBERWERX_API void jw_htable_free_data_cleaner(bool replace, bool destroy_key, void *key, void *data)
JABBERWERX_API void jw_htable_destroy(jw_htable *tbl)
JABBERWERX_API bool jw_htable_create(int buckets, jw_htable_hashfunc hash, jw_htable_cmpfunc cmp, jw_htable **tbl, jw_err *err)
JABBERWERX_API void jw_htable_remove(jw_htable *tbl, const void *key)