int hash_table_insert(struct hash_table *h, const char *key, const void *value)
Insert a key and value.
void * hash_table_remove(struct hash_table *h, const char *key)
Remove a value by key.
unsigned hash_string(const char *s)
A default hash function.
struct hash_table * hash_table_create(int buckets, hash_func_t func)
Create a new hash table.
unsigned(* hash_func_t)(const char *key)
The type signature for a hash function given to hash_table_create.
Definition: hash_table.h:42
void hash_table_clear(struct hash_table *h)
Remove all entries from an hash table.
int hash_table_size(struct hash_table *h)
Count the entries in a hash table.
void * hash_table_lookup(struct hash_table *h, const char *key)
Look up a value by key.
int hash_table_nextkey(struct hash_table *h, char **key, void **value)
Continue iteration over all keys.
void hash_table_firstkey(struct hash_table *h)
Begin iteration over all keys.
void hash_table_delete(struct hash_table *h)
Delete a hash table.