From 05c030c725fe15b17a2b09974b5da9d78affc926 Mon Sep 17 00:00:00 2001 From: Thiago de Arruda Date: Thu, 26 Feb 2015 23:29:02 -0300 Subject: map: Add map_clear method --- src/nvim/map.c | 5 +++++ src/nvim/map.h | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/nvim/map.c b/src/nvim/map.c index 31fe8a01ea..39ca7aaaee 100644 --- a/src/nvim/map.c +++ b/src/nvim/map.c @@ -87,6 +87,11 @@ } \ \ return rv; \ + } \ + \ + void map_##T##_##U##_clear(Map(T, U) *map) \ + { \ + kh_clear(T##_##U##_map, map->table); \ } static inline khint_t String_hash(String s) diff --git a/src/nvim/map.h b/src/nvim/map.h index 5ade6dcf15..d50f95b163 100644 --- a/src/nvim/map.h +++ b/src/nvim/map.h @@ -19,7 +19,8 @@ U map_##T##_##U##_get(Map(T, U) *map, T key); \ bool map_##T##_##U##_has(Map(T, U) *map, T key); \ U map_##T##_##U##_put(Map(T, U) *map, T key, U value); \ - U map_##T##_##U##_del(Map(T, U) *map, T key); + U map_##T##_##U##_del(Map(T, U) *map, T key); \ + void map_##T##_##U##_clear(Map(T, U) *map); MAP_DECLS(cstr_t, uint64_t) MAP_DECLS(cstr_t, ptr_t) @@ -33,6 +34,7 @@ MAP_DECLS(String, MsgpackRpcRequestHandler) #define map_has(T, U) map_##T##_##U##_has #define map_put(T, U) map_##T##_##U##_put #define map_del(T, U) map_##T##_##U##_del +#define map_clear(T, U) map_##T##_##U##_clear #define pmap_new(T) map_new(T, ptr_t) #define pmap_free(T) map_free(T, ptr_t) @@ -40,6 +42,7 @@ MAP_DECLS(String, MsgpackRpcRequestHandler) #define pmap_has(T) map_has(T, ptr_t) #define pmap_put(T) map_put(T, ptr_t) #define pmap_del(T) map_del(T, ptr_t) +#define pmap_clear(T) map_clear(T, ptr_t) #define map_foreach(map, key, value, block) \ kh_foreach(map->table, key, value, block) -- cgit