aboutsummaryrefslogtreecommitdiffstats
path: root/lib/hashmap/hashmap.h
diff options
context:
space:
mode:
authorGravatar Andrew D. France 2025-07-23 04:31:13 -0500
committerGravatar Andrew D. France 2025-07-23 04:31:13 -0500
commit4ac55835610f41c412d4abb1d8a113dcfe3140dd (patch)
tree2507acdf5cad8bc65e32c037bdf436f1500c1b74 /lib/hashmap/hashmap.h
parentbuild: Remove broken submodule configuration (diff)
Revert to old hashmap: fixed gitmodule index
Diffstat (limited to '')
-rw-r--r--lib/hashmap/hashmap.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/lib/hashmap/hashmap.h b/lib/hashmap/hashmap.h
new file mode 100644
index 0000000..d5775c5
--- /dev/null
+++ b/lib/hashmap/hashmap.h
@@ -0,0 +1,38 @@
+/*
+Copyright (c) 2024, Lance Borden
+All rights reserved.
+
+This software is licensed under the BSD 3-Clause License.
+You may obtain a copy of the license at:
+https://opensource.org/licenses/BSD-3-Clause
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted under the conditions stated in the BSD 3-Clause
+License.
+
+THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY WARRANTIES,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+*/
+
+#ifndef HASHMAP_H
+#define HASHMAP_H
+
+typedef struct pair {
+ char *key;
+ char *val;
+ struct pair *next;
+} map_pair_t;
+
+typedef struct {
+ map_pair_t **list;
+ unsigned int cap;
+ unsigned int len;
+} hashmap_t;
+
+hashmap_t *hm_new_hashmap();
+unsigned int hm_hashcode(hashmap_t *this, char *key);
+char *hm_get(hashmap_t *this, char *key);
+void hm_set(hashmap_t *this, char *key, char *val);
+
+#endif // HASHMAP_H