mruby  2.0.1
mruby is the lightweight implementation of the Ruby language
Classes | Macros | Typedefs | Enumerations | Functions
range.h File Reference

More...

#include "common.h"
Include dependency graph for range.h:

Go to the source code of this file.

Classes

struct  mrb_range_edges
 Range class. More...
 
struct  RRange
 

Macros

#define mrb_gc_free_range(mrb, p)   mrb_free(mrb, (p)->edges)
 
#define RANGE_BEG(p)   ((p)->edges->beg)
 
#define RANGE_END(p)   ((p)->edges->end)
 
#define mrb_range_beg(mrb, r)   RANGE_BEG(mrb_range_ptr(mrb, r))
 
#define mrb_range_end(mrb, r)   RANGE_END(mrb_range_ptr(mrb, r))
 
#define mrb_range_excl_p(mrb, r)   RANGE_EXCL(mrb_range_ptr(mrb, r))
 
#define mrb_range_raw_ptr(r)   ((struct RRange*)mrb_ptr(r))
 
#define mrb_range_value(p)   mrb_obj_value((void*)(p))
 
#define RANGE_EXCL(p)   ((p)->excl)
 

Typedefs

typedef struct mrb_range_edges mrb_range_edges
 Range class.
 

Enumerations

enum  mrb_range_beg_len { MRB_RANGE_TYPE_MISMATCH = 0, MRB_RANGE_OK = 1, MRB_RANGE_OUT = 2 }
 

Functions

struct RRangemrb_range_ptr (mrb_state *mrb, mrb_value range)
 
mrb_value mrb_range_new (mrb_state *mrb, mrb_value start, mrb_value end, mrb_bool exclude)
 
enum mrb_range_beg_len mrb_range_beg_len (mrb_state *mrb, mrb_value range, mrb_int *begp, mrb_int *lenp, mrb_int len, mrb_bool trunc)
 
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))
 
void mrb_gc_mark_range (mrb_state *mrb, struct RRange *r)
 

Detailed Description

See Copyright Notice in mruby.h