mruby 3.3.0
mruby is the lightweight implementation of the Ruby language
Loading...
Searching...
No Matches
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)
 
#define mrb_basic_ptr(v)
 
#define MRB_FL_OBJ_IS_FROZEN   (1 << 20)
 
#define MRB_FROZEN_P(o)
 
#define MRB_SET_FROZEN_FLAG(o)
 
#define MRB_UNSET_FROZEN_FLAG(o)
 
#define mrb_frozen_p(o)
 
#define mrb_obj_ptr(v)
 
#define mrb_special_const_p(x)
 
#define mrb_static_assert_object_size(st)
 

Detailed Description

  • mruby object definition

See Copyright Notice in mruby.h

Macro Definition Documentation

◆ mrb_basic_ptr

#define mrb_basic_ptr ( v)
Value:
((struct RBasic*)(mrb_ptr(v)))
Definition object.h:19

◆ MRB_FLAG_TEST

#define MRB_FLAG_TEST ( obj,
flag )
Value:
((obj)->flags & (flag))

◆ MRB_FROZEN_P

#define MRB_FROZEN_P ( o)
Value:
((o)->flags & MRB_FL_OBJ_IS_FROZEN)

◆ mrb_frozen_p

#define mrb_frozen_p ( o)
Value:
MRB_FROZEN_P(o)

◆ mrb_obj_ptr

#define mrb_obj_ptr ( v)
Value:
((struct RObject*)(mrb_ptr(v)))
Definition object.h:30

◆ 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
Class class.
Definition class.h:17

◆ MRB_SET_FROZEN_FLAG

#define MRB_SET_FROZEN_FLAG ( o)
Value:
((o)->flags |= MRB_FL_OBJ_IS_FROZEN)

◆ mrb_special_const_p

#define mrb_special_const_p ( x)
Value:
mrb_immediate_p(x)

◆ mrb_static_assert_object_size

#define mrb_static_assert_object_size ( st)
Value:
mrb_static_assert(sizeof(st) <= sizeof(void*) * 6, \
#st " size must be within 6 words")
#define mrb_static_assert(...)
The mrb_static_assert() macro function takes one or two arguments.
Definition mruby.h:108

◆ MRB_UNSET_FROZEN_FLAG

#define MRB_UNSET_FROZEN_FLAG ( o)
Value:
((o)->flags &= ~MRB_FL_OBJ_IS_FROZEN)