diff options
Diffstat (limited to 'include/ht.h')
-rw-r--r-- | include/ht.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/include/ht.h b/include/ht.h new file mode 100644 index 0000000..ef15540 --- /dev/null +++ b/include/ht.h @@ -0,0 +1,29 @@ +#ifndef HT_H_ +#define HT_H_ + +#include <stdbool.h> + +typedef struct hash_table ht_t; + +struct kvp { + char *key; + void *val; +}; + +// construct and destructor +ht_t *ht_create(int size); +void ht_destroy(ht_t *h); + +// accessors +void *ht_find(ht_t *h, char *key); +void ht_insert(ht_t *h, char *key, void *val); +void ht_delete(ht_t *h, char *key); + +// queries +int ht_size(ht_t *h); + +// iterator +void ht_iter_init(ht_t *h); +struct kvp ht_iter_next(ht_t *h); + +#endif // HT_H_ |