aboutsummaryrefslogtreecommitdiffstats
path: root/lib/hashmap/hashmap.h
diff options
context:
space:
mode:
authorGravatar BanceDev 2024-09-09 16:17:08 -0400
committerGravatar BanceDev 2024-09-09 16:17:08 -0400
commit521316d09b39a410d7e797efa176371e31a3a57e (patch)
treebb0c6bb5a9df1280fceb483983e2328ee87c0da0 /lib/hashmap/hashmap.h
parentbugfix to inline backspace and delete on multiline buffer (diff)
add aliasing to init.lua
Diffstat (limited to 'lib/hashmap/hashmap.h')
-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