17 #if defined(MRB_NAN_BOXING) && defined(MRB_64BIT) || defined(MRB_WORD_BOXING) 18 # define MRB_RANGE_EMBED 21 #ifdef MRB_RANGE_EMBED 28 # define mrb_gc_free_range(mrb, p) ((void)0) 29 # define RANGE_BEG(p) ((p)->beg) 30 # define RANGE_END(p) ((p)->end) 41 # define mrb_gc_free_range(mrb, p) mrb_free(mrb, (p)->edges) 42 # define RANGE_BEG(p) ((p)->edges->beg) 43 # define RANGE_END(p) ((p)->edges->end) 46 #define mrb_range_beg(mrb, r) RANGE_BEG(mrb_range_ptr(mrb, r)) 47 #define mrb_range_end(mrb, r) RANGE_END(mrb_range_ptr(mrb, r)) 48 #define mrb_range_excl_p(mrb, r) RANGE_EXCL(mrb_range_ptr(mrb, r)) 49 #define mrb_range_raw_ptr(r) ((struct RRange*)mrb_ptr(r)) 50 #define mrb_range_value(p) mrb_obj_value((void*)(p)) 51 #define RANGE_EXCL(p) ((p)->excl) 67 enum mrb_range_beg_len {
68 MRB_RANGE_TYPE_MISMATCH = 0,
struct mrb_range_edges mrb_range_edges
Range class.
Range class.
Definition: range.h:32
#define MRB_BEGIN_DECL
Start declarations in C mode.
Definition: common.h:26
#define MRB_API
Declare a public MRuby API function.
Definition: common.h:73
#define MRB_END_DECL
End declarations in C mode.
Definition: common.h:28
mruby common platform definition"
Definition: boxing_nan.h:39