mruby 3.3.0
mruby is the lightweight implementation of the Ruby language
Loading...
Searching...
No Matches
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_frozen_p(o)   MRB_FROZEN_P(o)
 
#define mrb_obj_ptr(v)   ((struct RObject*)(mrb_ptr(v)))
 
#define mrb_special_const_p(x)   mrb_immediate_p(x)
 
#define mrb_static_assert_object_size(st)
 

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

◆ 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