aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/lib')
-rw-r--r--src/nvim/lib/khash.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/nvim/lib/khash.h b/src/nvim/lib/khash.h
index 96e7ea6df0..fd4f910dac 100644
--- a/src/nvim/lib/khash.h
+++ b/src/nvim/lib/khash.h
@@ -577,6 +577,19 @@ static kh_inline khint_t __ac_Wang_hash(khint_t key)
code; \
} }
+/*! @function
+ @abstract Iterate over the keys in the hash table
+ @param h Pointer to the hash table [khash_t(name)*]
+ @param kvar Variable to which value will be assigned
+ @param code Block of code to execute
+ */
+#define kh_foreach_key(h, kvar, code) { khint_t __i; \
+ for (__i = kh_begin(h); __i != kh_end(h); ++__i) { \
+ if (!kh_exist(h,__i)) continue; \
+ (kvar) = kh_key(h,__i); \
+ code; \
+ } }
+
/* More conenient interfaces */
/*! @function