mruby 3.3.0
mruby is the lightweight implementation of the Ruby language
Loading...
Searching...
No Matches
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)
 
#define RANGE_BEG(p)
 
#define RANGE_END(p)
 
#define mrb_range_beg(mrb, r)
 
#define mrb_range_end(mrb, r)
 
#define mrb_range_excl_p(mrb, r)
 
#define mrb_range_raw_ptr(r)
 
#define mrb_range_value(p)
 
#define RANGE_EXCL(p)
 

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)
 

Detailed Description

  • Range class

See Copyright Notice in mruby.h

Macro Definition Documentation

◆ mrb_gc_free_range

#define mrb_gc_free_range ( mrb,
p )
Value:
mrb_free(mrb, (p)->edges)

◆ mrb_range_beg

#define mrb_range_beg ( mrb,
r )
Value:
RANGE_BEG(mrb_range_ptr(mrb, r))

◆ mrb_range_end

#define mrb_range_end ( mrb,
r )
Value:
RANGE_END(mrb_range_ptr(mrb, r))

◆ mrb_range_excl_p

#define mrb_range_excl_p ( mrb,
r )
Value:
RANGE_EXCL(mrb_range_ptr(mrb, r))

◆ mrb_range_raw_ptr

#define mrb_range_raw_ptr ( r)
Value:
((struct RRange*)mrb_ptr(r))
Definition range.h:36

◆ mrb_range_value

#define mrb_range_value ( p)
Value:
mrb_obj_value((void*)(p))

◆ RANGE_BEG

#define RANGE_BEG ( p)
Value:
((p)->edges->beg)

◆ RANGE_END

#define RANGE_END ( p)
Value:
((p)->edges->end)

◆ RANGE_EXCL

#define RANGE_EXCL ( p)
Value:
((p)->excl)