typedef uint64_t (*HashFunc)(const void*);
typedef bool (*EqualFunc)(const void*, const void*);
typedef void (*FreeFunc)(void*);
+typedef void (*PrintFunc)(void*);
typedef struct _Hashtable Hashtable;
typedef void (*ForeachFunc)(void*, void*, void*);
Hashtable* hash_table_create(HashFunc hf, EqualFunc ef);
Hashtable* hash_table_create_notify(HashFunc hf, EqualFunc ef, FreeFunc ff);
-Hashtable* hash_table_create_full(HashFunc hf, EqualFunc ef, uint32_t size, FreeFunc ff);
+Hashtable* hash_table_create_full(HashFunc hf, EqualFunc ef, uint32_t size, FreeFunc ff, PrintFunc pf);
void hash_table_destroy(Hashtable* ht);
void hash_table_print(Hashtable* ht);
bool hash_table_insert(Hashtable* ht, const void* key, void* obj);
bool hash_table_contains(Hashtable* ht, const void* key);
uint64_t hash_table_size(Hashtable* ht);
bool hash_table_replace(Hashtable* ht, void* key, void* value);
+void hash_table_set_print_func(Hashtable* ht, PrintFunc pf);
#endif