15#define HAT_HT_SUCCESS 0
16#define HAT_HT_ERROR (-1)
size_t hat_ht_iter_key_size(hat_ht_iter_t i)
Get current key size.
size_t hat_ht_count(hat_ht_t *t)
Number of elements in table.
void * hat_ht_iter_value(hat_ht_iter_t i)
Get current value.
size_t hat_ht_avg_count(hat_ht_t *t)
Initially estimated number of elements in table.
void hat_ht_destroy(hat_ht_t *t)
Destroy hash table.
int hat_ht_del(hat_ht_t *t, void *key, size_t key_size)
Delete element from table.
void * hat_ht_pop(hat_ht_t *t, void *key, size_t key_size)
Pop element from table.
int hat_ht_set(hat_ht_t *t, void *key, size_t key_size, void *value)
Set element in table.
void * hat_ht_get(hat_ht_t *t, void *key, size_t key_size)
Get element from table.
struct hat_ht_t hat_ht_t
Hash table.
Definition ht.h:23
hat_ht_iter_t hat_ht_iter_next(hat_ht_t *t, hat_ht_iter_t prev)
Get next iterator position.
int hat_ht_resize(hat_ht_t *t, size_t avg_count)
Reallocate hash table based on new average count.
void * hat_ht_iter_t
Hash table iterator.
Definition ht.h:26
hat_ht_t * hat_ht_create(hat_allocator_t *a, size_t avg_count)
Create new hash table.
void * hat_ht_iter_key(hat_ht_iter_t i)
Get current key.
Allocator base struct.
Definition allocator.h:36