void *(* copy)(const void *)
A function pointer used to copy the data type.
const t_type * key_type
The type of keys in the hashmap.
void hashmap_put(t_hashmap *hm, const void *key, const void *val)
Adds a key-value pair to the symbol table.
size_t size
The number of elements in the hashmap.
int(* cmp)(const void *, const void *)
(optional) A function ponter used to compare members of this data type
size_t(* hash)(const void *, size_t)
(optional) A function pointer used to get a hash value of this data type
A symbol table of generic key-value pairs, implemented as a dynamically resizing linear-probing hashm...
void(* del)(void *)
A function pointer used to free the memory taken by the data type.
const t_type * val_type
The type of values in the hashmap.
size_t capacity
The current capacity of the hashmap.