mbed I/F binding for mruby
Dependents: mruby_mbed_web mirb_mbed
range.h
00001 /* 00002 ** mruby/range.h - Range class 00003 ** 00004 ** See Copyright Notice in mruby.h 00005 */ 00006 00007 #ifndef MRUBY_RANGE_H 00008 #define MRUBY_RANGE_H 00009 00010 #if defined(__cplusplus) 00011 extern "C" { 00012 #endif 00013 00014 typedef struct mrb_range_edges { 00015 mrb_value beg; 00016 mrb_value end; 00017 } mrb_range_edges; 00018 00019 struct RRange { 00020 MRB_OBJECT_HEADER; 00021 mrb_range_edges *edges; 00022 mrb_bool excl : 1; 00023 }; 00024 00025 #define mrb_range_ptr(v) ((struct RRange*)(mrb_ptr(v))) 00026 #define mrb_range_value(p) mrb_obj_value((void*)(p)) 00027 00028 MRB_API mrb_value mrb_range_new(mrb_state*, mrb_value, mrb_value, mrb_bool); 00029 MRB_API mrb_bool mrb_range_beg_len(mrb_state *mrb, mrb_value range, mrb_int *begp, mrb_int *lenp, mrb_int len); 00030 mrb_value mrb_get_values_at(mrb_state *mrb, mrb_value obj, mrb_int olen, mrb_int argc, const mrb_value *argv, mrb_value (*func)(mrb_state*, mrb_value, mrb_int)); 00031 00032 #if defined(__cplusplus) 00033 } /* extern "C" { */ 00034 #endif 00035 00036 #endif /* MRUBY_RANGE_H */ 00037
Generated on Tue Jul 12 2022 18:00:35 by 1.7.2