Skip to content

Instantly share code, notes, and snippets.

@Asher-
Created October 27, 2010 08:15
Show Gist options
  • Save Asher-/648660 to your computer and use it in GitHub Desktop.
Save Asher-/648660 to your computer and use it in GitHub Desktop.
#define RI_Init( descriptor_name, passed_argc, passed_args, passed_rb_self ) rarg_parse_descriptor_t descriptor_name; \
descriptor_name.argc = passed_argc; \
descriptor_name.args = passed_args; \
descriptor_name.args_parsed = 0; \
descriptor_name.rb_self = passed_rb_self;
#define RI_Define( parameter_sets_name, \
descriptor_name, \
passed_argc, \
passed_args, \
passed_rb_self, \
parameter_set, ... ) RI_Init( descriptor_name, passed_argc, passed_args, passed_rb_self ); \
rarg_parameter_set_t* parameter_sets_name = RARG_define_ParameterSets( parameter_set,##__VA_ARGS__, NULL );
#define RI_DefineAndParse( parameter_sets_name, \
descriptor_name, \
argc, \
args, \
rb_self, \
parameter_set, ... ) RI_Define( parameter_sets_name, descriptor_name, argc, args, rb_self, parameter_set,##__VA_ARGS__ ); \
R_Parse();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment