summaryrefslogtreecommitdiff
path: root/src/runtime/c/gu/map.h
diff options
context:
space:
mode:
authorkr.angelov <kr.angelov@gmail.com>2014-10-24 09:17:22 +0000
committerkr.angelov <kr.angelov@gmail.com>2014-10-24 09:17:22 +0000
commit8abbd2f67e3d1289bf296668af8eefab2a1f0290 (patch)
tree3ee203680d94c43b7ac4a98d4c5c2b1e4122c59e /src/runtime/c/gu/map.h
parentdc62e52636795fe802296cef2ddffbb60af38085 (diff)
make it possible to specify the initial size of a map in libgu
Diffstat (limited to 'src/runtime/c/gu/map.h')
-rw-r--r--src/runtime/c/gu/map.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/runtime/c/gu/map.h b/src/runtime/c/gu/map.h
index a1234e99b..50af70572 100644
--- a/src/runtime/c/gu/map.h
+++ b/src/runtime/c/gu/map.h
@@ -18,16 +18,19 @@ typedef struct GuMap GuMap;
GuMap*
gu_make_map(size_t key_size, GuHasher* hasher,
size_t value_size, const void* default_value,
+ size_t init_size,
GuPool* pool);
+#define GU_MAP_DEFAULT_INIT_SIZE 11
+
#define gu_new_map(K, HASHER, V, DV, POOL) \
- (gu_make_map(sizeof(K), (HASHER), sizeof(V), (DV), (POOL)))
+ (gu_make_map(sizeof(K), (HASHER), sizeof(V), (DV), GU_MAP_DEFAULT_INIT_SIZE, (POOL)))
#define gu_new_set(K, HASHER, POOL) \
- (gu_make_map(sizeof(K), (HASHER), 0, NULL, (POOL)))
+ (gu_make_map(sizeof(K), (HASHER), 0, NULL, GU_MAP_DEFAULT_INIT_SIZE, (POOL)))
#define gu_new_addr_map(K, V, DV, POOL) \
- (gu_make_map(sizeof(K), gu_addr_hasher, sizeof(V), (DV), (POOL)))
+ (gu_make_map(sizeof(K), gu_addr_hasher, sizeof(V), (DV), GU_MAP_DEFAULT_INIT_SIZE, (POOL)))
size_t
gu_map_count(GuMap* map);