28#ifndef LIBDICT_HASHTABLE2_H__
29#define LIBDICT_HASHTABLE2_H__
int(* dict_compare_func)(const void *, const void *)
void(* dict_delete_func)(void *, void *)
unsigned(* dict_hash_func)(const void *)
bool(* dict_visit_func)(const void *, void *, void *)
bool hashtable2_verify(const hashtable2 *table)
hashtable2_itor * hashtable2_itor_new(hashtable2 *table)
dict_itor * hashtable2_dict_itor_new(hashtable2 *table)
void ** hashtable2_search(hashtable2 *table, const void *key)
bool hashtable2_itor_nextn(hashtable2_itor *itor, size_t count)
size_t hashtable2_free(hashtable2 *table, dict_delete_func delete_func)
bool hashtable2_itor_valid(const hashtable2_itor *itor)
bool hashtable2_itor_prev(hashtable2_itor *itor)
void ** hashtable2_itor_datum(hashtable2_itor *itor)
bool hashtable2_itor_remove(hashtable2_itor *itor)
size_t hashtable2_clear(hashtable2 *table, dict_delete_func delete_func)
dict_insert_result hashtable2_insert(hashtable2 *table, void *key)
void hashtable2_itor_invalidate(hashtable2_itor *itor)
hashtable2 * hashtable2_new(dict_compare_func cmp_func, dict_hash_func hash_func, unsigned initial_size)
size_t hashtable2_count(const hashtable2 *table)
size_t hashtable2_slots_used(const hashtable2 *table)
size_t hashtable2_size(const hashtable2 *table)
void hashtable2_itor_free(hashtable2_itor *itor)
bool hashtable2_itor_prevn(hashtable2_itor *itor, size_t count)
bool hashtable2_itor_first(hashtable2_itor *itor)
const void * hashtable2_itor_key(const hashtable2_itor *itor)
bool hashtable2_resize(hashtable2 *table, unsigned size)
bool hashtable2_itor_next(hashtable2_itor *itor)
dict_remove_result hashtable2_remove(hashtable2 *table, const void *key)
size_t hashtable2_traverse(hashtable2 *table, dict_visit_func visit, void *user_data)
bool hashtable2_itor_search(hashtable2_itor *itor, const void *key)
bool hashtable2_itor_last(hashtable2_itor *itor)
dict * hashtable2_dict_new(dict_compare_func cmp_func, dict_hash_func hash_func, unsigned initial_size)
dict_compare_func cmp_func