aboutsummaryrefslogtreecommitdiff
path: root/tree_map.h
diff options
context:
space:
mode:
Diffstat (limited to 'tree_map.h')
-rw-r--r--tree_map.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/tree_map.h b/tree_map.h
index 5e905a8..5b4c6fd 100644
--- a/tree_map.h
+++ b/tree_map.h
@@ -41,6 +41,7 @@
RBTree tree; \
} K##2##V##TreeMap; \
void K##2##V##TreeMap_init(K##2##V##TreeMap *self); \
+ K##2##V##TreeMap K##2##V##TreeMap_create(); \
K##2##V##TreeMapIter K##2##V##TreeMap_insert(K##2##V##TreeMap *self, K key, V value); \
K##2##V##TreeMapIter K##2##V##TreeMap_find(K##2##V##TreeMap *self, K key); \
V* K##2##V##TreeMap_get(K##2##V##TreeMap *self, K key); \
@@ -63,6 +64,11 @@
self->tree.cmp = K##2##V##TreeMap_cmp; \
self->tree.augment = NULL; \
} \
+ K##2##V##TreeMap K##2##V##TreeMap_create() { \
+ K##2##V##TreeMap self; \
+ K##2##V##TreeMap_init(&self); \
+ return self; \
+ } \
K##2##V##TreeMapIter K##2##V##TreeMap_insert(K##2##V##TreeMap *self, K key, V value) { \
K##2##V##TreeMapNode *newnode = malloc(sizeof(K##2##V##TreeMapNode)); \
newnode->key = key; \