summaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2013-04-25 11:53:36 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2013-04-25 11:53:36 +0900
commit1b31cbfbc810ffac9f3af6864d79cedf8f4e2385 (patch)
treeeb9dec17bc9b3c39e685ff5240555b4529b9e54c /include
parent30d580ecbc51852b26ada48eac5e597b1210815b (diff)
downloadmruby-1b31cbfbc810ffac9f3af6864d79cedf8f4e2385.tar.gz
mruby-1b31cbfbc810ffac9f3af6864d79cedf8f4e2385.zip
add new macro MRB_ARGS_ARG(n1,n2) to specify required and optional arugments at once
Diffstat (limited to 'include')
-rw-r--r--include/mruby.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/mruby.h b/include/mruby.h
index 5a9e2e359..88ab12b05 100644
--- a/include/mruby.h
+++ b/include/mruby.h
@@ -173,6 +173,9 @@ struct RClass * mrb_define_module_under(mrb_state *mrb, struct RClass *outer, co
#define MRB_ARGS_REQ(n) ((mrb_aspec)((n)&0x1f) << 19)
/* optional arguments */
#define MRB_ARGS_OPT(n) ((mrb_aspec)((n)&0x1f) << 14)
+/* mandatory and optinal arguments */
+#define MRB_ARGS_ARG(n1,n2) (MRB_ARGS_REQ(n1)|MRB_ARGS_OPT(n2))
+
/* rest argument */
#define MRB_ARGS_REST() ((mrb_aspec)(1 << 13))
/* required arguments after rest */