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

More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

union  mrb_value_value
 
union  mrb_value
 

Macros

#define MRB_FIXNUM_SHIFT   0
 
#define MRB_TT_HAS_BASIC   MRB_TT_OBJECT
 
#define mrb_float_pool(mrb, f)   mrb_float_value(mrb,f)
 
#define mrb_ptr(o)   (o).value.p
 
#define mrb_cptr(o)   mrb_ptr(o)
 
#define mrb_float(o)   (o).value.f
 
#define mrb_fixnum(o)   (o).value.i
 
#define mrb_symbol(o)   (o).value.sym
 
#define mrb_type(o)   (o).tt
 
#define BOXNIX_SET_VALUE(o, ttt, attr, v)
 
#define SET_NIL_VALUE(r)   BOXNIX_SET_VALUE(r, MRB_TT_FALSE, value.i, 0)
 
#define SET_FALSE_VALUE(r)   BOXNIX_SET_VALUE(r, MRB_TT_FALSE, value.i, 1)
 
#define SET_TRUE_VALUE(r)   BOXNIX_SET_VALUE(r, MRB_TT_TRUE, value.i, 1)
 
#define SET_BOOL_VALUE(r, b)   BOXNIX_SET_VALUE(r, b ? MRB_TT_TRUE : MRB_TT_FALSE, value.i, 1)
 
#define SET_INT_VALUE(r, n)   BOXNIX_SET_VALUE(r, MRB_TT_FIXNUM, value.i, (n))
 
#define SET_FLOAT_VALUE(mrb, r, v)   BOXNIX_SET_VALUE(r, MRB_TT_FLOAT, value.f, (v))
 
#define SET_SYM_VALUE(r, v)   BOXNIX_SET_VALUE(r, MRB_TT_SYMBOL, value.sym, (v))
 
#define SET_OBJ_VALUE(r, v)   BOXNIX_SET_VALUE(r, (((struct RObject*)(v))->tt), value.p, (v))
 
#define SET_CPTR_VALUE(mrb, r, v)   BOXNIX_SET_VALUE(r, MRB_TT_CPTR, value.p, v)
 
#define SET_UNDEF_VALUE(r)   BOXNIX_SET_VALUE(r, MRB_TT_UNDEF, value.i, 0)
 

Typedefs

typedef struct mrb_value mrb_value
 

Detailed Description

See Copyright Notice in mruby.h

Macro Definition Documentation

◆ BOXNIX_SET_VALUE

#define BOXNIX_SET_VALUE (   o,
  ttt,
  attr,
 
)
Value:
do {\
(o).tt = ttt;\
(o).attr = v;\
} while (0)