aboutsummaryrefslogtreecommitdiff
path: root/src/ht.h
diff options
context:
space:
mode:
authorjacob janzen <53062115+JacobJanzen@users.noreply.github.com>2024-02-14 15:52:57 -0600
committerGitHub <noreply@github.com>2024-02-14 21:52:57 +0000
commitb57c21da92563eed58867a9a6b02c201006cbc57 (patch)
treeb42a7654223d228c140870ef711b6f8e499de118 /src/ht.h
parent7e249ef2644071ca56bdbf7820ca9a66fef23d3c (diff)
Automake (#2)
* gnu autotools build * ignore dist
Diffstat (limited to 'src/ht.h')
-rw-r--r--src/ht.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/ht.h b/src/ht.h
new file mode 100644
index 0000000..ef15540
--- /dev/null
+++ b/src/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_