137 #ifndef __TOMMYHASHDYN_H 138 #define __TOMMYHASHDYN_H 149 #define TOMMY_HASHDYN_BIT 4 229 if (i->
key == hash && cmp(cmp_arg, i->
data) == 0)
285 return hashdyn->
count;
void tommy_hashdyn_insert(tommy_hashdyn *hashdyn, tommy_hashdyn_node *node, void *data, tommy_hash_t hash)
void * tommy_hashdyn_remove(tommy_hashdyn *hashdyn, tommy_search_func *cmp, const void *cmp_arg, tommy_hash_t hash)
tommy_count_t bucket_mask
void tommy_hashdyn_done(tommy_hashdyn *hashdyn)
struct tommy_hashdyn_struct tommy_hashdyn
tommy_uint32_t tommy_count_t
tommy_inline tommy_hashdyn_node * tommy_hashdyn_bucket(tommy_hashdyn *hashdyn, tommy_hash_t hash)
struct tommy_node_struct * next
tommy_node tommy_hashdyn_node
void tommy_hashdyn_foreach(tommy_hashdyn *hashdyn, tommy_foreach_func *func)
int tommy_search_func(const void *arg, const void *obj)
tommy_inline void * tommy_hashdyn_search(tommy_hashdyn *hashdyn, tommy_search_func *cmp, const void *cmp_arg, tommy_hash_t hash)
tommy_uint32_t tommy_uint_t
tommy_hashdyn_node ** bucket
tommy_size_t tommy_hashdyn_memory_usage(tommy_hashdyn *hashdyn)
void tommy_foreach_func(void *obj)
void * tommy_hashdyn_remove_existing(tommy_hashdyn *hashdyn, tommy_hashdyn_node *node)
tommy_inline tommy_count_t tommy_hashdyn_count(tommy_hashdyn *hashdyn)
void tommy_hashdyn_foreach_arg(tommy_hashdyn *hashdyn, tommy_foreach_arg_func *func, void *arg)
unsigned int hash(unsigned int a)
void tommy_hashdyn_init(tommy_hashdyn *hashdyn)
void tommy_foreach_arg_func(void *arg, void *obj)