aboutsummaryrefslogtreecommitdiff
path: root/hash_table.h
diff options
context:
space:
mode:
Diffstat (limited to 'hash_table.h')
-rw-r--r--hash_table.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/hash_table.h b/hash_table.h
index 9b45dff..24814e4 100644
--- a/hash_table.h
+++ b/hash_table.h
@@ -26,6 +26,7 @@ typedef struct hash_table HashTable;
HashTable ht; \
} K##2##V##HashTable; \
void K##2##V##HashTable_init(K##2##V##HashTable *self); \
+ K##2##V##HashTable K##2##V##HashTable_create(); \
bool K##2##V##HashTable_insert(K##2##V##HashTable *self, K key, V value); \
void K##2##V##HashTable_remove(K##2##V##HashTable *ht, K##2##V##HashTableIter iter); \
V* K##2##V##HashTable_get(K##2##V##HashTable *self, K key); \
@@ -47,6 +48,11 @@ typedef struct hash_table HashTable;
void K##2##V##HashTable_init(K##2##V##HashTable *self) { \
init_hash_table(&self->ht, sizeof(K##2##V##HashTableEntry), 16); \
} \
+ K##2##V##HashTable K##2##V##HashTable_create() { \
+ K##2##V##HashTable self; \
+ K##2##V##HashTable_init(&self); \
+ return self; \
+ } \
bool K##2##V##HashTable_insert(K##2##V##HashTable *self, K key, V value) { \
K##2##V##HashTableEntry entry; \
entry.key = key; \