summaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2018-12-11 09:01:05 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2018-12-11 09:01:05 +0900
commitc0d91a14e78de39b3940e56d4cccdbdb17b65694 (patch)
tree2776a281b3bc7a2846ca189a36a2eb6d9d7463fd /include
parentc23e68d32b8913f35e344844805d1b80f5633ecd (diff)
downloadmruby-c0d91a14e78de39b3940e56d4cccdbdb17b65694.tar.gz
mruby-c0d91a14e78de39b3940e56d4cccdbdb17b65694.zip
Add API function `mrb_hash_foreach()` to iterate over items in a hash.
Diffstat (limited to 'include')
-rw-r--r--include/mruby/hash.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/mruby/hash.h b/include/mruby/hash.h
index 7811894ae..9b20bf9e6 100644
--- a/include/mruby/hash.h
+++ b/include/mruby/hash.h
@@ -210,6 +210,10 @@ void mrb_gc_mark_hash(mrb_state*, struct RHash*);
size_t mrb_gc_mark_hash_size(mrb_state*, struct RHash*);
void mrb_gc_free_hash(mrb_state*, struct RHash*);
+/* return non zero to break the loop */
+typedef int (ht_foreach_func)(mrb_state *mrb, mrb_value key, mrb_value val, void *data);
+MRB_API void mrb_hash_foreach(mrb_state *mrb, struct RHash *hash, ht_foreach_func *func, void *p);
+
MRB_END_DECL
#endif /* MRUBY_HASH_H */