diff options
author | Jacob Janzen <jacob.a.s.janzen@gmail.com> | 2024-02-14 12:01:03 -0600 |
---|---|---|
committer | Jacob Janzen <jacob.a.s.janzen@gmail.com> | 2024-02-14 12:01:03 -0600 |
commit | b5b4a5d66deefa3858bedf7bc58e6c96340e829b (patch) | |
tree | 4aa42f746be3c6ce409938796ca95175dfd1da86 /include/ht.h | |
parent | 8bd664e467f760db6f689eb9d30c3d685abe6de5 (diff) |
major refactor
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_ |