diff options
-rw-r--r-- | src/nvim/map.c | 5 | ||||
-rw-r--r-- | src/nvim/map.h | 5 |
2 files changed, 9 insertions, 1 deletions
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) |