aboutsummaryrefslogtreecommitdiff
path: root/tree_map.h
diff options
context:
space:
mode:
authorMistivia <i@mistivia.com>2025-12-25 04:06:18 +0800
committerMistivia <i@mistivia.com>2025-12-25 04:06:18 +0800
commit1992412fd007600856896924f04d460bb212c9f1 (patch)
treeed4ecb5e3106a004588c1a0b00c0a87d6e089b1a /tree_map.h
parent1b59dbec2cc58b6b2404cf1732239e70a4915c69 (diff)
add create interface
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; \