More...
Go to the source code of this file.
|
#define | MRB_FIXNUM_SHIFT WORDBOX_FIXNUM_SHIFT |
|
#define | MRB_SYMBOL_SHIFT WORDBOX_SYMBOL_SHIFT |
|
#define | MRB_FIXNUM_MIN (INT32_MIN>>MRB_FIXNUM_SHIFT) |
|
#define | MRB_FIXNUM_MAX (INT32_MAX>>MRB_FIXNUM_SHIFT) |
|
#define | WORDBOX_FIXNUM_BIT_POS 1 |
|
#define | WORDBOX_FIXNUM_SHIFT WORDBOX_FIXNUM_BIT_POS |
|
#define | WORDBOX_FIXNUM_FLAG (1 << (WORDBOX_FIXNUM_BIT_POS - 1)) |
|
#define | WORDBOX_FIXNUM_MASK ((1 << WORDBOX_FIXNUM_BIT_POS) - 1) |
|
#define | WORDBOX_FLOAT_FLAG 2 |
|
#define | WORDBOX_FLOAT_MASK 3 |
|
#define | WORDBOX_SYMBOL_SHIFT 5 |
|
#define | WORDBOX_SYMBOL_FLAG 0x1c |
|
#define | WORDBOX_SYMBOL_MASK 0x1f |
|
#define | WORDBOX_IMMEDIATE_MASK 0x07 |
|
#define | WORDBOX_SET_SHIFT_VALUE(o, n, v) |
|
#define | WORDBOX_SHIFT_VALUE_P(o, n) |
|
#define | WORDBOX_OBJ_TYPE_P(o, n) |
|
#define | mrb_immediate_p(o) |
|
#define | mrb_ptr(o) |
|
#define | mrb_cptr(o) |
|
#define | mrb_float(o) |
|
#define | mrb_fixnum(o) |
|
#define | mrb_integer(o) |
|
#define | mrb_symbol(o) |
|
#define | mrb_bool(o) |
|
#define | mrb_fixnum_p(o) |
|
#define | mrb_integer_p(o) |
|
#define | mrb_symbol_p(o) |
|
#define | mrb_undef_p(o) |
|
#define | mrb_nil_p(o) |
|
#define | mrb_false_p(o) |
|
#define | mrb_true_p(o) |
|
#define | mrb_float_p(o) |
|
#define | mrb_array_p(o) |
|
#define | mrb_string_p(o) |
|
#define | mrb_hash_p(o) |
|
#define | mrb_cptr_p(o) |
|
#define | mrb_exception_p(o) |
|
#define | mrb_free_p(o) |
|
#define | mrb_object_p(o) |
|
#define | mrb_class_p(o) |
|
#define | mrb_module_p(o) |
|
#define | mrb_iclass_p(o) |
|
#define | mrb_sclass_p(o) |
|
#define | mrb_proc_p(o) |
|
#define | mrb_range_p(o) |
|
#define | mrb_env_p(o) |
|
#define | mrb_data_p(o) |
|
#define | mrb_fiber_p(o) |
|
#define | mrb_istruct_p(o) |
|
#define | mrb_break_p(o) |
|
#define | SET_FLOAT_VALUE(mrb, r, v) |
|
#define | SET_CPTR_VALUE(mrb, r, v) |
|
#define | SET_UNDEF_VALUE(r) |
|
#define | SET_NIL_VALUE(r) |
|
#define | SET_FALSE_VALUE(r) |
|
#define | SET_TRUE_VALUE(r) |
|
#define | SET_BOOL_VALUE(r, b) |
|
#define | SET_INT_VALUE(mrb, r, n) |
|
#define | SET_FIXNUM_VALUE(r, n) |
|
#define | SET_SYM_VALUE(r, n) |
|
#define | SET_OBJ_VALUE(r, v) |
|
|
typedef struct mrb_value | mrb_value |
|
|
enum | mrb_special_consts { MRB_Qnil = 0
, MRB_Qfalse = 4
, MRB_Qtrue = 12
, MRB_Qundef = 20
} |
|
See Copyright Notice in mruby.h
◆ mrb_array_p
Value:WORDBOX_OBJ_TYPE_P(o, ARRAY)
◆ mrb_bool
Value:(((o).w & ~(uintptr_t)MRB_Qfalse) != 0)
◆ mrb_break_p
Value:WORDBOX_OBJ_TYPE_P(o, BREAK)
◆ mrb_class_p
Value:WORDBOX_OBJ_TYPE_P(o, CLASS)
◆ mrb_cptr
◆ mrb_cptr_p
Value:WORDBOX_OBJ_TYPE_P(o, CPTR)
◆ mrb_data_p
Value:WORDBOX_OBJ_TYPE_P(o, DATA)
◆ mrb_env_p
Value:WORDBOX_OBJ_TYPE_P(o, ENV)
◆ mrb_exception_p
#define mrb_exception_p |
( |
| o | ) |
|
Value:WORDBOX_OBJ_TYPE_P(o, EXCEPTION)
◆ mrb_false_p
◆ mrb_fiber_p
Value:WORDBOX_OBJ_TYPE_P(o, FIBER)
◆ mrb_fixnum
Value:(mrb_int)(((intptr_t)(o).w) >> WORDBOX_FIXNUM_SHIFT)
◆ mrb_fixnum_p
#define mrb_fixnum_p |
( |
| o | ) |
|
Value:WORDBOX_SHIFT_VALUE_P(o, FIXNUM)
◆ mrb_float
Value:mrb_word_boxing_value_float(o)
◆ mrb_float_p
Value:WORDBOX_SHIFT_VALUE_P(o, FLOAT)
◆ mrb_free_p
Value:WORDBOX_OBJ_TYPE_P(o, FREE)
◆ mrb_hash_p
Value:WORDBOX_OBJ_TYPE_P(o, HASH)
◆ mrb_iclass_p
#define mrb_iclass_p |
( |
| o | ) |
|
Value:WORDBOX_OBJ_TYPE_P(o, ICLASS)
◆ mrb_immediate_p
#define mrb_immediate_p |
( |
| o | ) |
|
Value:((o).w & WORDBOX_IMMEDIATE_MASK || (o).w == MRB_Qnil)
◆ mrb_integer
◆ mrb_integer_p
#define mrb_integer_p |
( |
| o | ) |
|
Value:(WORDBOX_SHIFT_VALUE_P(o, FIXNUM)||WORDBOX_OBJ_TYPE_P(o, INTEGER))
◆ mrb_istruct_p
#define mrb_istruct_p |
( |
| o | ) |
|
Value:WORDBOX_OBJ_TYPE_P(o, ISTRUCT)
◆ mrb_module_p
#define mrb_module_p |
( |
| o | ) |
|
Value:WORDBOX_OBJ_TYPE_P(o, MODULE)
◆ mrb_nil_p
◆ mrb_object_p
#define mrb_object_p |
( |
| o | ) |
|
Value:WORDBOX_OBJ_TYPE_P(o, OBJECT)
◆ mrb_proc_p
Value:WORDBOX_OBJ_TYPE_P(o, PROC)
◆ mrb_ptr
◆ mrb_range_p
Value:WORDBOX_OBJ_TYPE_P(o, RANGE)
◆ mrb_sclass_p
#define mrb_sclass_p |
( |
| o | ) |
|
Value:WORDBOX_OBJ_TYPE_P(o, SCLASS)
◆ mrb_string_p
#define mrb_string_p |
( |
| o | ) |
|
Value:WORDBOX_OBJ_TYPE_P(o, STRING)
◆ mrb_symbol
Value:(
mrb_sym)(((o).w) >> WORDBOX_SYMBOL_SHIFT)
◆ mrb_symbol_p
#define mrb_symbol_p |
( |
| o | ) |
|
Value:WORDBOX_SHIFT_VALUE_P(o, SYMBOL)
◆ mrb_true_p
◆ mrb_undef_p
◆ SET_BOOL_VALUE
#define SET_BOOL_VALUE |
( |
| r, |
|
|
| b ) |
Value:((b) ? SET_TRUE_VALUE(r) : SET_FALSE_VALUE(r))
◆ SET_CPTR_VALUE
#define SET_CPTR_VALUE |
( |
| mrb, |
|
|
| r, |
|
|
| v ) |
Value:((r) = mrb_word_boxing_cptr_value(mrb, v))
◆ SET_FALSE_VALUE
#define SET_FALSE_VALUE |
( |
| r | ) |
|
◆ SET_FIXNUM_VALUE
#define SET_FIXNUM_VALUE |
( |
| r, |
|
|
| n ) |
Value:WORDBOX_SET_SHIFT_VALUE(r, FIXNUM, n)
◆ SET_FLOAT_VALUE
#define SET_FLOAT_VALUE |
( |
| mrb, |
|
|
| r, |
|
|
| v ) |
Value:((r) = mrb_word_boxing_float_value(mrb, v))
◆ SET_INT_VALUE
#define SET_INT_VALUE |
( |
| mrb, |
|
|
| r, |
|
|
| n ) |
Value:((r) = mrb_boxing_int_value(mrb, n))
◆ SET_NIL_VALUE
#define SET_NIL_VALUE |
( |
| r | ) |
|
◆ SET_OBJ_VALUE
#define SET_OBJ_VALUE |
( |
| r, |
|
|
| v ) |
◆ SET_SYM_VALUE
#define SET_SYM_VALUE |
( |
| r, |
|
|
| n ) |
Value:WORDBOX_SET_SHIFT_VALUE(r, SYMBOL, n)
◆ SET_TRUE_VALUE
#define SET_TRUE_VALUE |
( |
| r | ) |
|
◆ SET_UNDEF_VALUE
#define SET_UNDEF_VALUE |
( |
| r | ) |
|
◆ WORDBOX_OBJ_TYPE_P
#define WORDBOX_OBJ_TYPE_P |
( |
| o, |
|
|
| n ) |
Value: (!mrb_immediate_p(o) && mrb_val_union(o).bp->tt == MRB_TT_##n)
◆ WORDBOX_SET_SHIFT_VALUE
#define WORDBOX_SET_SHIFT_VALUE |
( |
| o, |
|
|
| n, |
|
|
| v ) |
Value: ((o).w = (((uintptr_t)(v)) << WORDBOX_##n##_SHIFT) | WORDBOX_##n##_FLAG)
◆ WORDBOX_SHIFT_VALUE_P
#define WORDBOX_SHIFT_VALUE_P |
( |
| o, |
|
|
| n ) |
Value: (((o).w & WORDBOX_##n##_MASK) == WORDBOX_##n##_FLAG)