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

More...

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

Go to the source code of this file.

Classes

struct  RBasic
 
struct  RObject
 
struct  RFiber
 

Macros

#define MRB_OBJECT_HEADER
 
#define MRB_FLAG_TEST(obj, flag)   ((obj)->flags & (flag))
 
#define mrb_basic_ptr(v)   ((struct RBasic*)(mrb_ptr(v)))
 
#define MRB_FL_OBJ_IS_FROZEN   (1 << 20)
 
#define MRB_FROZEN_P(o)   ((o)->flags & MRB_FL_OBJ_IS_FROZEN)
 
#define MRB_SET_FROZEN_FLAG(o)   ((o)->flags |= MRB_FL_OBJ_IS_FROZEN)
 
#define MRB_UNSET_FROZEN_FLAG(o)   ((o)->flags &= ~MRB_FL_OBJ_IS_FROZEN)
 
#define mrb_obj_ptr(v)   ((struct RObject*)(mrb_ptr(v)))
 
#define mrb_immediate_p(x)   (mrb_type(x) < MRB_TT_HAS_BASIC)
 
#define mrb_special_const_p(x)   mrb_immediate_p(x)
 

Detailed Description

See Copyright Notice in mruby.h

Macro Definition Documentation

◆ MRB_OBJECT_HEADER

#define MRB_OBJECT_HEADER
Value:
struct RClass *c; \
struct RBasic *gcnext; \
enum mrb_vtype tt:8; \
uint32_t color:3; \
uint32_t flags:21
Definition: object.h:19
Class class.
Definition: class.h:17