Ruby  2.7.2p137(2020-10-01revision5445e0435260b449decf2ac16f9d09bae3cafe72)
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
ruby.h File Reference
#include "ruby/config.h"
#include "defines.h"
#include "ruby/assert.h"
#include <stdarg.h>
#include "ruby/intern.h"
#include "ruby/subst.h"
#include "ruby/backward.h"

Go to the source code of this file.

Data Structures

struct  RObject
 
struct  RString
 
struct  RArray
 
struct  RRegexp
 
struct  RFile
 
struct  RData
 
struct  rb_data_type_struct
 
struct  RTypedData
 

Macros

#define ASSUME(x)   ((void)(x))
 
#define UNREACHABLE_RETURN(val)   return (val)
 
#define UNREACHABLE   ((void)0) /* unreachable */
 
#define RUBY_MACRO_SELECT(base, n)   TOKEN_PASTE(base, n)
 
#define SIGNED_VALUE   long
 
#define SIZEOF_VALUE   SIZEOF_LONG
 
#define PRI_VALUE_PREFIX   "l"
 
#define PRI_INT_PREFIX   ""
 
#define PRI_LONG_PREFIX   "l"
 
#define PRI_SHORT_PREFIX   "h"
 
#define PRIdPTR   PRI_PTR_PREFIX"d"
 
#define PRIiPTR   PRI_PTR_PREFIX"i"
 
#define PRIoPTR   PRI_PTR_PREFIX"o"
 
#define PRIuPTR   PRI_PTR_PREFIX"u"
 
#define PRIxPTR   PRI_PTR_PREFIX"x"
 
#define PRIXPTR   PRI_PTR_PREFIX"X"
 
#define RUBY_PRI_VALUE_MARK   "\v"
 
#define PRIdVALUE   PRI_VALUE_PREFIX"d"
 
#define PRIoVALUE   PRI_VALUE_PREFIX"o"
 
#define PRIuVALUE   PRI_VALUE_PREFIX"u"
 
#define PRIxVALUE   PRI_VALUE_PREFIX"x"
 
#define PRIXVALUE   PRI_VALUE_PREFIX"X"
 
#define PRIsVALUE   PRI_VALUE_PREFIX"i" RUBY_PRI_VALUE_MARK
 
#define PRI_TIMET_PREFIX
 
#define PRI_PTRDIFF_PREFIX   ""
 
#define PRIdPTRDIFF   PRI_PTRDIFF_PREFIX"d"
 
#define PRIiPTRDIFF   PRI_PTRDIFF_PREFIX"i"
 
#define PRIoPTRDIFF   PRI_PTRDIFF_PREFIX"o"
 
#define PRIuPTRDIFF   PRI_PTRDIFF_PREFIX"u"
 
#define PRIxPTRDIFF   PRI_PTRDIFF_PREFIX"x"
 
#define PRIXPTRDIFF   PRI_PTRDIFF_PREFIX"X"
 
#define PRI_SIZE_PREFIX   ""
 
#define PRIdSIZE   PRI_SIZE_PREFIX"d"
 
#define PRIiSIZE   PRI_SIZE_PREFIX"i"
 
#define PRIoSIZE   PRI_SIZE_PREFIX"o"
 
#define PRIuSIZE   PRI_SIZE_PREFIX"u"
 
#define PRIxSIZE   PRI_SIZE_PREFIX"x"
 
#define PRIXSIZE   PRI_SIZE_PREFIX"X"
 
#define LONG_MAX   2147483647
 
#define LONG_MIN   (-LONG_MAX-1)
 
#define CHAR_BIT   8
 
#define RUBY_FIXNUM_MAX   (LONG_MAX>>1)
 
#define RUBY_FIXNUM_MIN   RSHIFT((long)LONG_MIN,1)
 
#define FIXNUM_MAX   RUBY_FIXNUM_MAX
 
#define FIXNUM_MIN   RUBY_FIXNUM_MIN
 
#define RB_INT2FIX(i)   (((VALUE)(i))<<1 | RUBY_FIXNUM_FLAG)
 
#define INT2FIX(i)   RB_INT2FIX(i)
 
#define RB_LONG2FIX(i)   RB_INT2FIX(i)
 
#define LONG2FIX(i)   RB_INT2FIX(i)
 
#define rb_fix_new(v)   RB_INT2FIX(v)
 
#define rb_int_new(v)   rb_int2inum(v)
 
#define rb_uint_new(v)   rb_uint2inum(v)
 
#define OFFT2NUM(v)   LONG2NUM(v)
 
#define SIZET2NUM(v)   ULONG2NUM(v)
 
#define SSIZET2NUM(v)   LONG2NUM(v)
 
#define SIZE_MAX   ULONG_MAX
 
#define SIZE_MIN   ULONG_MIN
 
#define SSIZE_MAX   LONG_MAX
 
#define SSIZE_MIN   LONG_MIN
 
#define rb_long2int(n)   ((int)(n))
 
#define PIDT2NUM(v)   LONG2NUM(v)
 
#define NUM2PIDT(v)   NUM2LONG(v)
 
#define UIDT2NUM(v)   LONG2NUM(v)
 
#define NUM2UIDT(v)   NUM2LONG(v)
 
#define GIDT2NUM(v)   LONG2NUM(v)
 
#define NUM2GIDT(v)   NUM2LONG(v)
 
#define NUM2MODET(v)   NUM2INT(v)
 
#define MODET2NUM(v)   INT2NUM(v)
 
#define RB_FIX2LONG(x)   ((long)RSHIFT((SIGNED_VALUE)(x),1))
 
#define RB_FIX2ULONG(x)   ((unsigned long)RB_FIX2LONG(x))
 
#define RB_FIXNUM_P(f)   (((int)(SIGNED_VALUE)(f))&RUBY_FIXNUM_FLAG)
 
#define RB_POSFIXABLE(f)   ((f) < RUBY_FIXNUM_MAX+1)
 
#define RB_NEGFIXABLE(f)   ((f) >= RUBY_FIXNUM_MIN)
 
#define RB_FIXABLE(f)   (RB_POSFIXABLE(f) && RB_NEGFIXABLE(f))
 
#define FIX2LONG(x)   RB_FIX2LONG(x)
 
#define FIX2ULONG(x)   RB_FIX2ULONG(x)
 
#define FIXNUM_P(f)   RB_FIXNUM_P(f)
 
#define POSFIXABLE(f)   RB_POSFIXABLE(f)
 
#define NEGFIXABLE(f)   RB_NEGFIXABLE(f)
 
#define FIXABLE(f)   RB_FIXABLE(f)
 
#define RB_IMMEDIATE_P(x)   ((VALUE)(x) & RUBY_IMMEDIATE_MASK)
 
#define IMMEDIATE_P(x)   RB_IMMEDIATE_P(x)
 
#define RB_STATIC_SYM_P(x)   (((VALUE)(x)&~((~(VALUE)0)<<RUBY_SPECIAL_SHIFT)) == RUBY_SYMBOL_FLAG)
 
#define RB_DYNAMIC_SYM_P(x)   (!RB_SPECIAL_CONST_P(x) && RB_BUILTIN_TYPE(x) == (RUBY_T_SYMBOL))
 
#define RB_SYMBOL_P(x)   (RB_STATIC_SYM_P(x)||RB_DYNAMIC_SYM_P(x))
 
#define RB_ID2SYM(x)   (rb_id2sym(x))
 
#define RB_SYM2ID(x)   (rb_sym2id(x))
 
#define STATIC_SYM_P(x)   RB_STATIC_SYM_P(x)
 
#define DYNAMIC_SYM_P(x)   RB_DYNAMIC_SYM_P(x)
 
#define SYMBOL_P(x)   RB_SYMBOL_P(x)
 
#define ID2SYM(x)   RB_ID2SYM(x)
 
#define SYM2ID(x)   RB_SYM2ID(x)
 
#define USE_FLONUM   1
 
#define RB_FLONUM_P(x)   ((((int)(SIGNED_VALUE)(x))&RUBY_FLONUM_MASK) == RUBY_FLONUM_FLAG)
 
#define FLONUM_P(x)   RB_FLONUM_P(x)
 
#define USE_SYMBOL_AS_METHOD_NAME   1
 
#define RUBY_Qfalse   ((VALUE)RUBY_Qfalse)
 
#define RUBY_Qtrue   ((VALUE)RUBY_Qtrue)
 
#define RUBY_Qnil   ((VALUE)RUBY_Qnil)
 
#define RUBY_Qundef   ((VALUE)RUBY_Qundef) /* undefined value for placeholder */
 
#define Qfalse   RUBY_Qfalse
 
#define Qtrue   RUBY_Qtrue
 
#define Qnil   RUBY_Qnil
 
#define Qundef   RUBY_Qundef
 
#define IMMEDIATE_MASK   RUBY_IMMEDIATE_MASK
 
#define FIXNUM_FLAG   RUBY_FIXNUM_FLAG
 
#define FLONUM_MASK   RUBY_FLONUM_MASK
 
#define FLONUM_FLAG   RUBY_FLONUM_FLAG
 
#define SYMBOL_FLAG   RUBY_SYMBOL_FLAG
 
#define RB_TEST(v)   !(((VALUE)(v) & (VALUE)~RUBY_Qnil) == 0)
 
#define RB_NIL_P(v)   !((VALUE)(v) != RUBY_Qnil)
 
#define RTEST(v)   RB_TEST(v)
 
#define NIL_P(v)   RB_NIL_P(v)
 
#define CLASS_OF(v)   rb_class_of((VALUE)(v))
 
#define T_NONE   RUBY_T_NONE
 
#define T_NIL   RUBY_T_NIL
 
#define T_OBJECT   RUBY_T_OBJECT
 
#define T_CLASS   RUBY_T_CLASS
 
#define T_ICLASS   RUBY_T_ICLASS
 
#define T_MODULE   RUBY_T_MODULE
 
#define T_FLOAT   RUBY_T_FLOAT
 
#define T_STRING   RUBY_T_STRING
 
#define T_REGEXP   RUBY_T_REGEXP
 
#define T_ARRAY   RUBY_T_ARRAY
 
#define T_HASH   RUBY_T_HASH
 
#define T_STRUCT   RUBY_T_STRUCT
 
#define T_BIGNUM   RUBY_T_BIGNUM
 
#define T_FILE   RUBY_T_FILE
 
#define T_FIXNUM   RUBY_T_FIXNUM
 
#define T_TRUE   RUBY_T_TRUE
 
#define T_FALSE   RUBY_T_FALSE
 
#define T_DATA   RUBY_T_DATA
 
#define T_MATCH   RUBY_T_MATCH
 
#define T_SYMBOL   RUBY_T_SYMBOL
 
#define T_RATIONAL   RUBY_T_RATIONAL
 
#define T_COMPLEX   RUBY_T_COMPLEX
 
#define T_IMEMO   RUBY_T_IMEMO
 
#define T_UNDEF   RUBY_T_UNDEF
 
#define T_NODE   RUBY_T_NODE
 
#define T_ZOMBIE   RUBY_T_ZOMBIE
 
#define T_MOVED   RUBY_T_MOVED
 
#define T_MASK   RUBY_T_MASK
 
#define RB_BUILTIN_TYPE(x)   (int)(((struct RBasic*)(x))->flags & RUBY_T_MASK)
 
#define BUILTIN_TYPE(x)   RB_BUILTIN_TYPE(x)
 
#define TYPE(x)   rb_type((VALUE)(x))
 
#define RB_FLOAT_TYPE_P(obj)
 
#define RB_TYPE_P(obj, type)
 
#define HAVE_RB_GC_GUARDED_PTR_VAL   1
 
#define RB_GC_GUARD(v)   (*rb_gc_guarded_ptr_val(&(v),(v)))
 
#define RB_UNUSED_VAR(x)   x
 
#define Check_Type(v, t)   rb_check_type((VALUE)(v),(t))
 
#define StringValue(v)   rb_string_value(&(v))
 
#define StringValuePtr(v)   rb_string_value_ptr(&(v))
 
#define StringValueCStr(v)   rb_string_value_cstr(&(v))
 
#define SafeStringValue(v)   StringValue(v)
 
#define rb_check_safe_str(x)   [<"rb_check_safe_str() is obsolete; use StringValue() instead">]
 
#define Check_SafeStr(v)   [<"Check_SafeStr() is obsolete; use StringValue() instead">]
 
#define ExportStringValue(v)
 
#define FilePathValue(v)   (RB_GC_GUARD(v) = rb_get_path(v))
 
#define FilePathStringValue(v)   ((v) = rb_get_path(v))
 
#define RUBY_SAFE_LEVEL_MAX   1
 
#define RB_NUM2LONG(x)   rb_num2long_inline(x)
 
#define NUM2LONG(x)   RB_NUM2LONG(x)
 
#define RB_NUM2ULONG(x)   rb_num2ulong_inline(x)
 
#define NUM2ULONG(x)   RB_NUM2ULONG(x)
 
#define RB_NUM2INT(x)   ((int)RB_NUM2LONG(x))
 
#define RB_NUM2UINT(x)   ((unsigned int)RB_NUM2ULONG(x))
 
#define RB_FIX2INT(x)   ((int)RB_FIX2LONG(x))
 
#define RB_FIX2UINT(x)   ((unsigned int)RB_FIX2ULONG(x))
 
#define NUM2INT(x)   RB_NUM2INT(x)
 
#define NUM2UINT(x)   RB_NUM2UINT(x)
 
#define FIX2INT(x)   RB_FIX2INT(x)
 
#define FIX2UINT(x)   RB_FIX2UINT(x)
 
#define RB_FIX2SHORT(x)   (rb_fix2short((VALUE)(x)))
 
#define FIX2SHORT(x)   RB_FIX2SHORT(x)
 
#define RB_NUM2SHORT(x)   rb_num2short_inline(x)
 
#define RB_NUM2USHORT(x)   rb_num2ushort(x)
 
#define NUM2SHORT(x)   RB_NUM2SHORT(x)
 
#define NUM2USHORT(x)   RB_NUM2USHORT(x)
 
#define NUM2OFFT(x)   NUM2LONG(x)
 
#define NUM2SIZET(x)   NUM2ULONG(x)
 
#define NUM2SSIZET(x)   NUM2LONG(x)
 
#define NUM2DBL(x)   rb_num2dbl((VALUE)(x))
 
#define RB_NEWOBJ(obj, type)   type *(obj) = (type*)rb_newobj()
 
#define RB_NEWOBJ_OF(obj, type, klass, flags)   type *(obj) = (type*)rb_newobj_of(klass, flags)
 
#define NEWOBJ(obj, type)   RB_NEWOBJ(obj,type)
 
#define NEWOBJ_OF(obj, type, klass, flags)   RB_NEWOBJ_OF(obj,type,klass,flags) /* core has special NEWOBJ_OF() in internal.h */
 
#define OBJSETUP(obj, c, t)   rb_obj_setup(obj, c, t) /* use NEWOBJ_OF instead of NEWOBJ()+OBJSETUP() */
 
#define CLONESETUP(clone, obj)   rb_clone_setup(clone,obj)
 
#define DUPSETUP(dup, obj)   rb_dup_setup(dup,obj)
 
#define USE_RGENGC   1
 
#define USE_RINCGC   1
 
#define RGENGC_WB_PROTECTED_ARRAY   1
 
#define RGENGC_WB_PROTECTED_HASH   1
 
#define RGENGC_WB_PROTECTED_STRUCT   1
 
#define RGENGC_WB_PROTECTED_STRING   1
 
#define RGENGC_WB_PROTECTED_OBJECT   1
 
#define RGENGC_WB_PROTECTED_REGEXP   1
 
#define RGENGC_WB_PROTECTED_CLASS   1
 
#define RGENGC_WB_PROTECTED_FLOAT   1
 
#define RGENGC_WB_PROTECTED_COMPLEX   1
 
#define RGENGC_WB_PROTECTED_RATIONAL   1
 
#define RGENGC_WB_PROTECTED_BIGNUM   1
 
#define RGENGC_WB_PROTECTED_NODE_CREF   1
 
#define RUBY_FL_USER_N(n)   RUBY_FL_USER##n = (1<<(RUBY_FL_USHIFT+n))
 
#define RUBY_FL_USER19   (((VALUE)1)<<(RUBY_FL_USHIFT+19))
 
#define RB_OBJ_WB_UNPROTECT_FOR(type, obj)
 
#define RBASIC_CLASS(obj)   (RBASIC(obj)->klass)
 
#define RVALUE_EMBED_LEN_MAX   RVALUE_EMBED_LEN_MAX
 
#define ROBJECT_EMBED_LEN_MAX   ROBJECT_EMBED_LEN_MAX
 
#define ROBJECT_EMBED   ROBJECT_EMBED
 
#define ROBJECT_NUMIV(o)
 
#define ROBJECT_IVPTR(o)
 
#define ROBJECT_IV_INDEX_TBL(o)
 
#define RCLASS_SUPER(c)   rb_class_get_superclass(c)
 
#define RMODULE_IV_TBL(m)   RCLASS_IV_TBL(m)
 
#define RMODULE_CONST_TBL(m)   RCLASS_CONST_TBL(m)
 
#define RMODULE_M_TBL(m)   RCLASS_M_TBL(m)
 
#define RMODULE_SUPER(m)   RCLASS_SUPER(m)
 
#define RMODULE_IS_OVERLAID   RMODULE_IS_OVERLAID
 
#define RMODULE_IS_REFINEMENT   RMODULE_IS_REFINEMENT
 
#define RMODULE_INCLUDED_INTO_REFINEMENT   RMODULE_INCLUDED_INTO_REFINEMENT
 
#define RFLOAT_VALUE(v)   rb_float_value(v)
 
#define DBL2NUM(dbl)   rb_float_new(dbl)
 
#define RUBY_ELTS_SHARED   RUBY_ELTS_SHARED
 
#define ELTS_SHARED   RUBY_ELTS_SHARED
 
#define RSTRING_NOEMBED   RSTRING_NOEMBED
 
#define RSTRING_EMBED_LEN_MASK   RSTRING_EMBED_LEN_MASK
 
#define RSTRING_EMBED_LEN_SHIFT   RSTRING_EMBED_LEN_SHIFT
 
#define RSTRING_EMBED_LEN_MAX   RSTRING_EMBED_LEN_MAX
 
#define RSTRING_FSTR   RSTRING_FSTR
 
#define RSTRING_EMBED_LEN(str)
 
#define RSTRING_LEN(str)
 
#define RSTRING_PTR(str)
 
#define RSTRING_END(str)
 
#define RSTRING_LENINT(str)   rb_long2int(RSTRING_LEN(str))
 
#define RSTRING_GETMEM(str, ptrvar, lenvar)
 
#define USE_TRANSIENT_HEAP   1
 
#define RARRAY_TRANSIENT_FLAG   RARRAY_TRANSIENT_FLAG
 
#define RARRAY_EMBED_FLAG   (VALUE)RARRAY_EMBED_FLAG
 
#define RARRAY_EMBED_LEN_MASK   (VALUE)RARRAY_EMBED_LEN_MASK
 
#define RARRAY_EMBED_LEN_MAX   RARRAY_EMBED_LEN_MAX
 
#define RARRAY_EMBED_LEN_SHIFT   RARRAY_EMBED_LEN_SHIFT
 
#define RARRAY_EMBED_LEN(a)
 
#define RARRAY_LEN(a)   rb_array_len(a)
 
#define RARRAY_LENINT(ary)   rb_long2int(RARRAY_LEN(ary))
 
#define RARRAY_CONST_PTR(a)   rb_array_const_ptr(a)
 
#define RARRAY_CONST_PTR_TRANSIENT(a)   rb_array_const_ptr_transient(a)
 
#define RARRAY_TRANSIENT_P(ary)   FL_TEST_RAW((ary), RARRAY_TRANSIENT_FLAG)
 
#define RARRAY_PTR_USE_START_TRANSIENT(a)   rb_array_ptr_use_start(a, 1)
 
#define RARRAY_PTR_USE_END_TRANSIENT(a)   rb_array_ptr_use_end(a, 1)
 
#define RARRAY_PTR_USE_TRANSIENT(ary, ptr_name, expr)
 
#define RARRAY_PTR_USE_START(a)   rb_array_ptr_use_start(a, 0)
 
#define RARRAY_PTR_USE_END(a)   rb_array_ptr_use_end(a, 0)
 
#define RARRAY_PTR_USE(ary, ptr_name, expr)
 
#define RARRAY_AREF(a, i)   (RARRAY_CONST_PTR_TRANSIENT(a)[i])
 
#define RARRAY_ASET(a, i, v)
 
#define RARRAY_PTR(a)   ((VALUE *)RARRAY_CONST_PTR(RB_OBJ_WB_UNPROTECT_FOR(ARRAY, a)))
 
#define RREGEXP_PTR(r)   (RREGEXP(r)->ptr)
 
#define RREGEXP_SRC(r)   (RREGEXP(r)->src)
 
#define RREGEXP_SRC_PTR(r)   RSTRING_PTR(RREGEXP(r)->src)
 
#define RREGEXP_SRC_LEN(r)   RSTRING_LEN(RREGEXP(r)->src)
 
#define RREGEXP_SRC_END(r)   RSTRING_END(RREGEXP(r)->src)
 
#define RHASH_TBL(h)   rb_hash_tbl(h, __FILE__, __LINE__)
 
#define RHASH_ITER_LEV(h)   rb_hash_iter_lev(h)
 
#define RHASH_IFNONE(h)   rb_hash_ifnone(h)
 
#define RHASH_SIZE(h)   rb_hash_size_num(h)
 
#define RHASH_EMPTY_P(h)   (RHASH_SIZE(h) == 0)
 
#define RHASH_SET_IFNONE(h, ifnone)   rb_hash_set_ifnone((VALUE)h, ifnone)
 
#define HAVE_TYPE_RB_DATA_TYPE_T   1
 
#define HAVE_RB_DATA_TYPE_T_FUNCTION   1
 
#define HAVE_RB_DATA_TYPE_T_PARENT   1
 
#define DATA_PTR(dta)   (RDATA(dta)->data)
 
#define RTYPEDDATA_P(v)   (RTYPEDDATA(v)->typed_flag == 1)
 
#define RTYPEDDATA_TYPE(v)   (RTYPEDDATA(v)->type)
 
#define RTYPEDDATA_DATA(v)   (RTYPEDDATA(v)->data)
 
#define RUBY_UNTYPED_DATA_WARNING   0
 
#define Check_TypedStruct(v, t)   rb_check_typeddata((VALUE)(v),(t))
 
#define RUBY_DEFAULT_FREE   ((RUBY_DATA_FUNC)-1)
 
#define RUBY_NEVER_FREE   ((RUBY_DATA_FUNC)0)
 
#define RUBY_TYPED_DEFAULT_FREE   RUBY_DEFAULT_FREE
 
#define RUBY_TYPED_NEVER_FREE   RUBY_NEVER_FREE
 
#define RUBY_TYPED_FREE_IMMEDIATELY   1 /* TYPE field */
 
#define RUBY_TYPED_WB_PROTECTED   RUBY_FL_WB_PROTECTED /* THIS FLAG DEPENDS ON Ruby version */
 
#define RUBY_TYPED_PROMOTED1   RUBY_FL_PROMOTED1 /* THIS FLAG DEPENDS ON Ruby version */
 
#define Data_Wrap_Struct(klass, mark, free, sval)    rb_data_object_wrap((klass),(sval),(RUBY_DATA_FUNC)(mark),(RUBY_DATA_FUNC)(free))
 
#define Data_Make_Struct0(result, klass, type, size, mark, free, sval)
 
#define Data_Make_Struct(klass, type, mark, free, sval)
 
#define TypedData_Wrap_Struct(klass, data_type, sval)    rb_data_typed_object_wrap((klass),(sval),(data_type))
 
#define TypedData_Make_Struct0(result, klass, type, size, data_type, sval)
 
#define TypedData_Make_Struct(klass, type, data_type, sval)
 
#define Data_Get_Struct(obj, type, sval)    ((sval) = (type*)rb_data_object_get(obj))
 
#define TypedData_Get_Struct(obj, type, data_type, sval)    ((sval) = (type*)rb_check_typeddata((obj), (data_type)))
 
#define RSTRUCT_LEN(st)   NUM2LONG(rb_struct_size(st))
 
#define RSTRUCT_PTR(st)   rb_struct_ptr(st)
 
#define RSTRUCT_SET(st, idx, v)   rb_struct_aset(st, INT2NUM(idx), (v))
 
#define RSTRUCT_GET(st, idx)   rb_struct_aref(st, INT2NUM(idx))
 
#define RBIGNUM_SIGN(b)   (rb_big_sign(b))
 
#define RBIGNUM_POSITIVE_P(b)   (RBIGNUM_SIGN(b)!=0)
 
#define RBIGNUM_NEGATIVE_P(b)   (RBIGNUM_SIGN(b)==0)
 
#define R_CAST(st)   (struct st*)
 
#define RMOVED(obj)   (R_CAST(RMoved)(obj))
 
#define RBASIC(obj)   (R_CAST(RBasic)(obj))
 
#define ROBJECT(obj)   (R_CAST(RObject)(obj))
 
#define RCLASS(obj)   (R_CAST(RClass)(obj))
 
#define RMODULE(obj)   RCLASS(obj)
 
#define RSTRING(obj)   (R_CAST(RString)(obj))
 
#define RREGEXP(obj)   (R_CAST(RRegexp)(obj))
 
#define RARRAY(obj)   (R_CAST(RArray)(obj))
 
#define RDATA(obj)   (R_CAST(RData)(obj))
 
#define RTYPEDDATA(obj)   (R_CAST(RTypedData)(obj))
 
#define RFILE(obj)   (R_CAST(RFile)(obj))
 
#define FL_SINGLETON   ((VALUE)RUBY_FL_SINGLETON)
 
#define FL_WB_PROTECTED   ((VALUE)RUBY_FL_WB_PROTECTED)
 
#define FL_PROMOTED0   ((VALUE)RUBY_FL_PROMOTED0)
 
#define FL_PROMOTED1   ((VALUE)RUBY_FL_PROMOTED1)
 
#define FL_FINALIZE   ((VALUE)RUBY_FL_FINALIZE)
 
#define FL_TAINT   ((VALUE)RUBY_FL_TAINT)
 
#define FL_UNTRUSTED   ((VALUE)RUBY_FL_UNTRUSTED)
 
#define FL_SEEN_OBJ_ID   ((VALUE)RUBY_FL_SEEN_OBJ_ID)
 
#define FL_EXIVAR   ((VALUE)RUBY_FL_EXIVAR)
 
#define FL_FREEZE   ((VALUE)RUBY_FL_FREEZE)
 
#define FL_USHIFT   ((VALUE)RUBY_FL_USHIFT)
 
#define FL_USER0   ((VALUE)RUBY_FL_USER0)
 
#define FL_USER1   ((VALUE)RUBY_FL_USER1)
 
#define FL_USER2   ((VALUE)RUBY_FL_USER2)
 
#define FL_USER3   ((VALUE)RUBY_FL_USER3)
 
#define FL_USER4   ((VALUE)RUBY_FL_USER4)
 
#define FL_USER5   ((VALUE)RUBY_FL_USER5)
 
#define FL_USER6   ((VALUE)RUBY_FL_USER6)
 
#define FL_USER7   ((VALUE)RUBY_FL_USER7)
 
#define FL_USER8   ((VALUE)RUBY_FL_USER8)
 
#define FL_USER9   ((VALUE)RUBY_FL_USER9)
 
#define FL_USER10   ((VALUE)RUBY_FL_USER10)
 
#define FL_USER11   ((VALUE)RUBY_FL_USER11)
 
#define FL_USER12   ((VALUE)RUBY_FL_USER12)
 
#define FL_USER13   ((VALUE)RUBY_FL_USER13)
 
#define FL_USER14   ((VALUE)RUBY_FL_USER14)
 
#define FL_USER15   ((VALUE)RUBY_FL_USER15)
 
#define FL_USER16   ((VALUE)RUBY_FL_USER16)
 
#define FL_USER17   ((VALUE)RUBY_FL_USER17)
 
#define FL_USER18   ((VALUE)RUBY_FL_USER18)
 
#define FL_USER19   ((VALUE)(unsigned int)RUBY_FL_USER19)
 
#define RB_SPECIAL_CONST_P(x)   (RB_IMMEDIATE_P(x) || !RB_TEST(x))
 
#define SPECIAL_CONST_P(x)   RB_SPECIAL_CONST_P(x)
 
#define RB_FL_ABLE(x)   (!RB_SPECIAL_CONST_P(x) && RB_BUILTIN_TYPE(x) != RUBY_T_NODE)
 
#define RB_FL_TEST_RAW(x, f)   (RBASIC(x)->flags&(f))
 
#define RB_FL_TEST(x, f)   (RB_FL_ABLE(x)?RB_FL_TEST_RAW((x),(f)):0)
 
#define RB_FL_ANY_RAW(x, f)   RB_FL_TEST_RAW((x),(f))
 
#define RB_FL_ANY(x, f)   RB_FL_TEST((x),(f))
 
#define RB_FL_ALL_RAW(x, f)   (RB_FL_TEST_RAW((x),(f)) == (f))
 
#define RB_FL_ALL(x, f)   (RB_FL_TEST((x),(f)) == (f))
 
#define RB_FL_SET_RAW(x, f)   (void)(RBASIC(x)->flags |= (f))
 
#define RB_FL_SET(x, f)   (RB_FL_ABLE(x) ? RB_FL_SET_RAW(x, f) : (void)0)
 
#define RB_FL_UNSET_RAW(x, f)   (void)(RBASIC(x)->flags &= ~(VALUE)(f))
 
#define RB_FL_UNSET(x, f)   (RB_FL_ABLE(x) ? RB_FL_UNSET_RAW(x, f) : (void)0)
 
#define RB_FL_REVERSE_RAW(x, f)   (void)(RBASIC(x)->flags ^= (f))
 
#define RB_FL_REVERSE(x, f)   (RB_FL_ABLE(x) ? RB_FL_REVERSE_RAW(x, f) : (void)0)
 
#define RB_OBJ_TAINTABLE(x)   (RB_FL_ABLE(x) && RB_BUILTIN_TYPE(x) != RUBY_T_BIGNUM && RB_BUILTIN_TYPE(x) != RUBY_T_FLOAT)
 
#define RB_OBJ_TAINTED_RAW(x)   RB_FL_TEST_RAW(x, RUBY_FL_TAINT)
 
#define RB_OBJ_TAINTED(x)   (!!RB_FL_TEST((x), RUBY_FL_TAINT))
 
#define RB_OBJ_TAINT_RAW(x)   RB_FL_SET_RAW(x, RUBY_FL_TAINT)
 
#define RB_OBJ_TAINT(x)   (RB_OBJ_TAINTABLE(x) ? RB_OBJ_TAINT_RAW(x) : (void)0)
 
#define RB_OBJ_UNTRUSTED(x)   RB_OBJ_TAINTED(x)
 
#define RB_OBJ_UNTRUST(x)   RB_OBJ_TAINT(x)
 
#define RB_OBJ_INFECT_RAW(x, s)   RB_FL_SET_RAW(x, RB_OBJ_TAINTED_RAW(s))
 
#define RB_OBJ_INFECT(x, s)
 
#define RB_OBJ_FROZEN_RAW(x)   (RBASIC(x)->flags&RUBY_FL_FREEZE)
 
#define RB_OBJ_FROZEN(x)   (!RB_FL_ABLE(x) || RB_OBJ_FROZEN_RAW(x))
 
#define RB_OBJ_FREEZE_RAW(x)   (void)(RBASIC(x)->flags |= RUBY_FL_FREEZE)
 
#define RB_OBJ_FREEZE(x)   rb_obj_freeze_inline((VALUE)x)
 
#define FL_ABLE(x)   RB_FL_ABLE(x)
 
#define FL_TEST_RAW(x, f)   RB_FL_TEST_RAW(x,f)
 
#define FL_TEST(x, f)   RB_FL_TEST(x,f)
 
#define FL_ANY_RAW(x, f)   RB_FL_ANY_RAW(x,f)
 
#define FL_ANY(x, f)   RB_FL_ANY(x,f)
 
#define FL_ALL_RAW(x, f)   RB_FL_ALL_RAW(x,f)
 
#define FL_ALL(x, f)   RB_FL_ALL(x,f)
 
#define FL_SET_RAW(x, f)   RB_FL_SET_RAW(x,f)
 
#define FL_SET(x, f)   RB_FL_SET(x,f)
 
#define FL_UNSET_RAW(x, f)   RB_FL_UNSET_RAW(x,f)
 
#define FL_UNSET(x, f)   RB_FL_UNSET(x,f)
 
#define FL_REVERSE_RAW(x, f)   RB_FL_REVERSE_RAW(x,f)
 
#define FL_REVERSE(x, f)   RB_FL_REVERSE(x,f)
 
#define OBJ_TAINTABLE(x)   RB_OBJ_TAINTABLE(x)
 
#define OBJ_TAINTED_RAW(x)   RB_OBJ_TAINTED_RAW(x)
 
#define OBJ_TAINTED(x)   RB_OBJ_TAINTED(x)
 
#define OBJ_TAINT_RAW(x)   RB_OBJ_TAINT_RAW(x)
 
#define OBJ_TAINT(x)   RB_OBJ_TAINT(x)
 
#define OBJ_UNTRUSTED(x)   RB_OBJ_UNTRUSTED(x)
 
#define OBJ_UNTRUST(x)   RB_OBJ_UNTRUST(x)
 
#define OBJ_INFECT_RAW(x, s)   RB_OBJ_INFECT_RAW(x,s)
 
#define OBJ_INFECT(x, s)   RB_OBJ_INFECT(x,s)
 
#define OBJ_FROZEN_RAW(x)   RB_OBJ_FROZEN_RAW(x)
 
#define OBJ_FROZEN(x)   RB_OBJ_FROZEN(x)
 
#define OBJ_FREEZE_RAW(x)   RB_OBJ_FREEZE_RAW(x)
 
#define OBJ_FREEZE(x)   RB_OBJ_FREEZE(x)
 
#define RUBY_UNTYPED_DATA_FUNC(func)   DEPRECATED(func)
 
#define RB_OBJ_PROMOTED_RAW(x)   RB_FL_ALL_RAW(x, RUBY_FL_PROMOTED)
 
#define RB_OBJ_PROMOTED(x)   (RB_SPECIAL_CONST_P(x) ? 0 : RB_OBJ_PROMOTED_RAW(x))
 
#define RB_OBJ_WB_UNPROTECT(x)   rb_obj_wb_unprotect(x, __FILE__, __LINE__)
 
#define OBJ_PROMOTED_RAW(x)   RB_OBJ_PROMOTED_RAW(x)
 
#define OBJ_PROMOTED(x)   RB_OBJ_PROMOTED(x)
 
#define OBJ_WB_UNPROTECT(x)   RB_OBJ_WB_UNPROTECT(x)
 
#define RB_OBJ_WRITE(a, slot, b)   rb_obj_write((VALUE)(a), (VALUE *)(slot), (VALUE)(b), __FILE__, __LINE__)
 
#define RB_OBJ_WRITTEN(a, oldv, b)   rb_obj_written((VALUE)(a), (VALUE)(oldv), (VALUE)(b), __FILE__, __LINE__)
 
#define USE_RGENGC_LOGGING_WB_UNPROTECT   0
 
#define RUBY_INTEGER_UNIFICATION   1
 
#define RB_INTEGER_TYPE_P(obj)   rb_integer_type_p(obj)
 
#define RB_INT2NUM(x)   rb_int2num_inline(x)
 
#define RB_UINT2NUM(x)   rb_uint2num_inline(x)
 
#define INT2NUM(x)   RB_INT2NUM(x)
 
#define UINT2NUM(x)   RB_UINT2NUM(x)
 
#define RB_LONG2NUM(x)   rb_long2num_inline(x)
 
#define RB_ULONG2NUM(x)   rb_ulong2num_inline(x)
 
#define RB_NUM2CHR(x)   rb_num2char_inline(x)
 
#define RB_CHR2FIX(x)   RB_INT2FIX((long)((x)&0xff))
 
#define LONG2NUM(x)   RB_LONG2NUM(x)
 
#define ULONG2NUM(x)   RB_ULONG2NUM(x)
 
#define USHORT2NUM(x)   RB_INT2FIX(x)
 
#define NUM2CHR(x)   RB_NUM2CHR(x)
 
#define CHR2FIX(x)   RB_CHR2FIX(x)
 
#define RB_ST2FIX(h)   RB_LONG2FIX((long)(h))
 
#define ST2FIX(h)   RB_ST2FIX(h)
 
#define RB_ALLOC_N(type, n)   ((type*)ruby_xmalloc2((size_t)(n),sizeof(type)))
 
#define RB_ALLOC(type)   ((type*)ruby_xmalloc(sizeof(type)))
 
#define RB_ZALLOC_N(type, n)   ((type*)ruby_xcalloc((size_t)(n),sizeof(type)))
 
#define RB_ZALLOC(type)   (RB_ZALLOC_N(type,1))
 
#define RB_REALLOC_N(var, type, n)   ((var)=(type*)ruby_xrealloc2((char*)(var),(size_t)(n),sizeof(type)))
 
#define ALLOC_N(type, n)   RB_ALLOC_N(type,n)
 
#define ALLOC(type)   RB_ALLOC(type)
 
#define ZALLOC_N(type, n)   RB_ZALLOC_N(type,n)
 
#define ZALLOC(type)   RB_ZALLOC(type)
 
#define REALLOC_N(var, type, n)   RB_REALLOC_N(var,type,n)
 
#define ALLOCA_N(type, n)   ((type*)alloca(sizeof(type)*(n)))
 
#define RUBY_ALLOCV_LIMIT   1024
 
#define RB_ALLOCV(v, n)
 
#define RB_ALLOCV_N(type, v, n)
 
#define RB_ALLOCV_END(v)   rb_free_tmp_buffer(&(v))
 
#define ALLOCV(v, n)   RB_ALLOCV(v, n)
 
#define ALLOCV_N(type, v, n)   RB_ALLOCV_N(type, v, n)
 
#define ALLOCV_END(v)   RB_ALLOCV_END(v)
 
#define MEMZERO(p, type, n)   memset((p), 0, sizeof(type)*(size_t)(n))
 
#define MEMCPY(p1, p2, type, n)   memcpy((p1), (p2), sizeof(type)*(size_t)(n))
 
#define MEMMOVE(p1, p2, type, n)   memmove((p1), (p2), sizeof(type)*(size_t)(n))
 
#define MEMCMP(p1, p2, type, n)   memcmp((p1), (p2), sizeof(type)*(size_t)(n))
 
#define RUBY_CONST_ID_CACHE(result, str)
 
#define RUBY_CONST_ID(var, str)    do RUBY_CONST_ID_CACHE((var) =, (str)) while (0)
 
#define CONST_ID_CACHE(result, str)   RUBY_CONST_ID_CACHE(result, str)
 
#define CONST_ID(var, str)   RUBY_CONST_ID(var, str)
 
#define rb_intern_const(str)   rb_intern2((str), (long)strlen(str))
 
#define rb_funcall2   rb_funcallv
 
#define rb_funcall3   rb_funcallv_public
 
#define RB_SCAN_ARGS_PASS_CALLED_KEYWORDS   0
 
#define RB_SCAN_ARGS_KEYWORDS   1
 
#define RB_SCAN_ARGS_EMPTY_KEYWORDS   2 /* Will be removed in 3.0 */
 
#define RB_SCAN_ARGS_LAST_HASH_KEYWORDS   3
 
#define HAVE_RB_SCAN_ARGS_OPTIONAL_HASH   1
 
#define ruby_verbose   (*rb_ruby_verbose_ptr())
 
#define ruby_debug   (*rb_ruby_debug_ptr())
 
#define RB_IO_WAIT_READABLE   RB_IO_WAIT_READABLE
 
#define RB_IO_WAIT_WRITABLE   RB_IO_WAIT_WRITABLE
 
#define RB_BLOCK_CALL_FUNC_STRICT   1
 
#define RUBY_BLOCK_CALL_FUNC_TAKES_BLOCKARG   1
 
#define RB_BLOCK_CALL_FUNC_ARGLIST(yielded_arg, callback_arg)    VALUE yielded_arg, VALUE callback_arg, int argc, const VALUE *argv, VALUE blockarg
 
#define RB_NO_KEYWORDS   0
 
#define RB_PASS_KEYWORDS   1
 
#define RB_PASS_EMPTY_KEYWORDS   2 /* Will be removed in 3.0 */
 
#define RB_PASS_CALLED_KEYWORDS   3
 
#define rb_type_p(obj, type)   (rb_type(obj) == (type))
 
#define FIX_CONST_VALUE_PTR(x)   (x)
 
#define RUBY_VM   1 /* YARV */
 
#define HAVE_NATIVETHREAD
 
#define RUBY_EVENT_NONE   0x0000
 
#define RUBY_EVENT_LINE   0x0001
 
#define RUBY_EVENT_CLASS   0x0002
 
#define RUBY_EVENT_END   0x0004
 
#define RUBY_EVENT_CALL   0x0008
 
#define RUBY_EVENT_RETURN   0x0010
 
#define RUBY_EVENT_C_CALL   0x0020
 
#define RUBY_EVENT_C_RETURN   0x0040
 
#define RUBY_EVENT_RAISE   0x0080
 
#define RUBY_EVENT_ALL   0x00ff
 
#define RUBY_EVENT_B_CALL   0x0100
 
#define RUBY_EVENT_B_RETURN   0x0200
 
#define RUBY_EVENT_THREAD_BEGIN   0x0400
 
#define RUBY_EVENT_THREAD_END   0x0800
 
#define RUBY_EVENT_FIBER_SWITCH   0x1000
 
#define RUBY_EVENT_SCRIPT_COMPILED   0x2000
 
#define RUBY_EVENT_TRACEPOINT_ALL   0xffff
 
#define RUBY_EVENT_RESERVED_FOR_INTERNAL_USE   0x030000
 
#define RUBY_INTERNAL_EVENT_SWITCH   0x040000
 
#define RUBY_EVENT_SWITCH   0x040000 /* obsolete name. this macro is for compatibility */
 
#define RUBY_INTERNAL_EVENT_NEWOBJ   0x100000
 
#define RUBY_INTERNAL_EVENT_FREEOBJ   0x200000
 
#define RUBY_INTERNAL_EVENT_GC_START   0x400000
 
#define RUBY_INTERNAL_EVENT_GC_END_MARK   0x800000
 
#define RUBY_INTERNAL_EVENT_GC_END_SWEEP   0x1000000
 
#define RUBY_INTERNAL_EVENT_GC_ENTER   0x2000000
 
#define RUBY_INTERNAL_EVENT_GC_EXIT   0x4000000
 
#define RUBY_INTERNAL_EVENT_OBJSPACE_MASK   0x7f00000
 
#define RUBY_INTERNAL_EVENT_MASK   0xffff0000
 
#define RB_EVENT_HOOKS_HAVE_CALLBACK_DATA   1
 
#define ISASCII(c)   rb_isascii(c)
 
#define ISPRINT(c)   rb_isprint(c)
 
#define ISGRAPH(c)   rb_isgraph(c)
 
#define ISSPACE(c)   rb_isspace(c)
 
#define ISUPPER(c)   rb_isupper(c)
 
#define ISLOWER(c)   rb_islower(c)
 
#define ISALNUM(c)   rb_isalnum(c)
 
#define ISALPHA(c)   rb_isalpha(c)
 
#define ISDIGIT(c)   rb_isdigit(c)
 
#define ISXDIGIT(c)   rb_isxdigit(c)
 
#define ISBLANK(c)   rb_isblank(c)
 
#define ISCNTRL(c)   rb_iscntrl(c)
 
#define ISPUNCT(c)   rb_ispunct(c)
 
#define TOUPPER(c)   rb_toupper(c)
 
#define TOLOWER(c)   rb_tolower(c)
 
#define STRCASECMP(s1, s2)   (st_locale_insensitive_strcasecmp((s1), (s2)))
 
#define STRNCASECMP(s1, s2, n)   (st_locale_insensitive_strncasecmp((s1), (s2), (n)))
 
#define STRTOUL(str, endptr, base)   (ruby_strtoul((str), (endptr), (base)))
 
#define InitVM(ext)   {void InitVM_##ext(void);InitVM_##ext();}
 
#define RUBY_INIT_STACK
 A convenience macro to call ruby_init_stack(). More...
 
#define RUBY_METHOD_FUNC(func)   ((VALUE (*)(ANYARGS))(func))
 

Typedefs

typedef unsigned long VALUE
 
typedef unsigned long ID
 
typedef char ruby_check_sizeof_int[SIZEOF_INT==sizeof(int) ? 1 :-1]
 
typedef char ruby_check_sizeof_long[SIZEOF_LONG==sizeof(long) ? 1 :-1]
 
typedef char ruby_check_sizeof_voidp[SIZEOF_VOIDP==sizeof(void *) ? 1 :-1]
 
typedef struct rb_data_type_struct rb_data_type_t
 
typedef void(* RUBY_DATA_FUNC) (void *)
 
typedef int ruby_glob_func(const char *, VALUE, void *)
 
typedef VALUE rb_gvar_getter_t(ID id, VALUE *data)
 
typedef void rb_gvar_setter_t(VALUE val, ID id, VALUE *data)
 
typedef void rb_gvar_marker_t(VALUE *var)
 
typedef VALUE rb_block_call_func(RB_BLOCK_CALL_FUNC_ARGLIST(yielded_arg, callback_arg))
 
typedef rb_block_call_funcrb_block_call_func_t
 
typedef uint32_t rb_event_flag_t
 
typedef void(* rb_event_hook_func_t) (rb_event_flag_t evflag, VALUE data, VALUE self, ID mid, VALUE klass)
 

Enumerations

enum  ruby_special_consts {
  RUBY_Qfalse = 0x00, RUBY_Qtrue = 0x14, RUBY_Qnil = 0x08, RUBY_Qundef = 0x34,
  RUBY_IMMEDIATE_MASK = 0x07, RUBY_FIXNUM_FLAG = 0x01, RUBY_FLONUM_MASK = 0x03, RUBY_FLONUM_FLAG = 0x02,
  RUBY_SYMBOL_FLAG = 0x0c, RUBY_SPECIAL_SHIFT = 8, RUBY_Qfalse = 0, RUBY_Qtrue = 2,
  RUBY_Qnil = 4, RUBY_Qundef = 6, RUBY_IMMEDIATE_MASK = 0x03, RUBY_FIXNUM_FLAG = 0x01,
  RUBY_FLONUM_MASK = 0x00, RUBY_FLONUM_FLAG = 0x02, RUBY_SYMBOL_FLAG = 0x0e, RUBY_SPECIAL_SHIFT = 8
}
 
enum  ruby_value_type {
  RUBY_T_NONE = 0x00, RUBY_T_OBJECT = 0x01, RUBY_T_CLASS = 0x02, RUBY_T_MODULE = 0x03,
  RUBY_T_FLOAT = 0x04, RUBY_T_STRING = 0x05, RUBY_T_REGEXP = 0x06, RUBY_T_ARRAY = 0x07,
  RUBY_T_HASH = 0x08, RUBY_T_STRUCT = 0x09, RUBY_T_BIGNUM = 0x0a, RUBY_T_FILE = 0x0b,
  RUBY_T_DATA = 0x0c, RUBY_T_MATCH = 0x0d, RUBY_T_COMPLEX = 0x0e, RUBY_T_RATIONAL = 0x0f,
  RUBY_T_NIL = 0x11, RUBY_T_TRUE = 0x12, RUBY_T_FALSE = 0x13, RUBY_T_SYMBOL = 0x14,
  RUBY_T_FIXNUM = 0x15, RUBY_T_UNDEF = 0x16, RUBY_T_IMEMO = 0x1a, RUBY_T_NODE = 0x1b,
  RUBY_T_ICLASS = 0x1c, RUBY_T_ZOMBIE = 0x1d, RUBY_T_MOVED = 0x1e, RUBY_T_MASK = 0x1f,
  RUBY_T_NONE = 0x00, RUBY_T_OBJECT = 0x01, RUBY_T_CLASS = 0x02, RUBY_T_MODULE = 0x03,
  RUBY_T_FLOAT = 0x04, RUBY_T_STRING = 0x05, RUBY_T_REGEXP = 0x06, RUBY_T_ARRAY = 0x07,
  RUBY_T_HASH = 0x08, RUBY_T_STRUCT = 0x09, RUBY_T_BIGNUM = 0x0a, RUBY_T_FILE = 0x0b,
  RUBY_T_DATA = 0x0c, RUBY_T_MATCH = 0x0d, RUBY_T_COMPLEX = 0x0e, RUBY_T_RATIONAL = 0x0f,
  RUBY_T_NIL = 0x11, RUBY_T_TRUE = 0x12, RUBY_T_FALSE = 0x13, RUBY_T_SYMBOL = 0x14,
  RUBY_T_FIXNUM = 0x15, RUBY_T_UNDEF = 0x16, RUBY_T_IMEMO = 0x1a, RUBY_T_NODE = 0x1b,
  RUBY_T_ICLASS = 0x1c, RUBY_T_ZOMBIE = 0x1d, RUBY_T_MOVED = 0x1e, RUBY_T_MASK = 0x1f
}
 
enum  ruby_fl_type {
  RUBY_FL_WB_PROTECTED = (1<<5), RUBY_FL_PROMOTED0 = (1<<5), RUBY_FL_PROMOTED1 = (1<<6), RUBY_FL_PROMOTED = RUBY_FL_PROMOTED0|RUBY_FL_PROMOTED1,
  RUBY_FL_FINALIZE = (1<<7), RUBY_FL_TAINT = (1<<8), RUBY_FL_UNTRUSTED = RUBY_FL_TAINT, RUBY_FL_SEEN_OBJ_ID = (1<<9),
  RUBY_FL_EXIVAR = (1<<10), RUBY_FL_FREEZE = (1<<11), RUBY_FL_USHIFT = 12, RUBY_FL_USER_N =(0),
  RUBY_FL_USER_N =(0), RUBY_FL_USER_N =(0), RUBY_FL_USER_N =(0), RUBY_FL_USER_N =(0),
  RUBY_FL_USER_N =(0), RUBY_FL_USER_N =(0), RUBY_FL_USER_N =(0), RUBY_FL_USER_N =(0),
  RUBY_FL_USER_N =(0), RUBY_FL_USER_N =(0), RUBY_FL_USER_N =(0), RUBY_FL_USER_N =(0),
  RUBY_FL_USER_N =(0), RUBY_FL_USER_N =(0), RUBY_FL_USER_N =(0), RUBY_FL_USER_N =(0),
  RUBY_FL_USER_N =(0), RUBY_FL_USER_N =(0), RUBY_FL_USER_N =(0), RUBY_ELTS_SHARED = RUBY_FL_USER2,
  RUBY_FL_DUPPED = (RUBY_T_MASK|RUBY_FL_EXIVAR|RUBY_FL_TAINT), RUBY_FL_SINGLETON = RUBY_FL_USER0
}
 
enum  ruby_rvalue_flags { RVALUE_EMBED_LEN_MAX = 3 }
 
enum  ruby_robject_flags { ROBJECT_EMBED_LEN_MAX = RVALUE_EMBED_LEN_MAX, ROBJECT_EMBED = RUBY_FL_USER1, ROBJECT_ENUM_END }
 
enum  ruby_rmodule_flags { RMODULE_IS_OVERLAID = RUBY_FL_USER2, RMODULE_IS_REFINEMENT = RUBY_FL_USER3, RMODULE_INCLUDED_INTO_REFINEMENT = RUBY_FL_USER4, RMODULE_ENUM_END }
 
enum  ruby_rstring_flags {
  RSTRING_NOEMBED = RUBY_FL_USER1, RSTRING_EMBED_LEN_MASK, RSTRING_EMBED_LEN_SHIFT = (RUBY_FL_USHIFT+2), RSTRING_EMBED_LEN_MAX = (int)((sizeof(VALUE)*RVALUE_EMBED_LEN_MAX)/sizeof(char)-1),
  RSTRING_FSTR = RUBY_FL_USER17, RSTRING_ENUM_END
}
 
enum  ruby_rarray_flags {
  RARRAY_EMBED_LEN_MAX = RVALUE_EMBED_LEN_MAX, RARRAY_EMBED_FLAG = RUBY_FL_USER1, RARRAY_EMBED_LEN_MASK = (RUBY_FL_USER4|RUBY_FL_USER3), RARRAY_EMBED_LEN_SHIFT = (RUBY_FL_USHIFT+3),
  RARRAY_TRANSIENT_FLAG = RUBY_FL_USER13, RARRAY_TRANSIENT_FLAG = RUBY_FL_USER13, RARRAY_ENUM_END
}
 
enum  rb_io_wait_readwrite { RB_IO_WAIT_READABLE, RB_IO_WAIT_WRITABLE, RB_IO_WAIT_READABLE, RB_IO_WAIT_WRITABLE }
 

Functions

RUBY_SYMBOL_EXPORT_BEGIN voidalloca ()
 
VALUE rb_int2inum (intptr_t)
 
VALUE rb_uint2inum (uintptr_t)
 
ID rb_sym2id (VALUE)
 
VALUE rb_id2sym (ID)
 
volatile VALUErb_gc_guarded_ptr_val (volatile VALUE *ptr, VALUE val)
 
void rb_check_type (VALUE, int)
 
VALUE rb_str_to_str (VALUE)
 
VALUE rb_string_value (volatile VALUE *)
 
charrb_string_value_ptr (volatile VALUE *)
 
charrb_string_value_cstr (volatile VALUE *)
 
void rb_check_safe_obj (VALUE)
 
VALUE rb_str_export (VALUE)
 
VALUE rb_str_export_locale (VALUE)
 
VALUE rb_get_path (VALUE)
 
VALUE rb_get_path_no_checksafe (VALUE)
 
void rb_secure (int)
 
int rb_safe_level (void)
 
void rb_set_safe_level (int)
 
void rb_set_safe_level_force (int)
 
void rb_secure_update (VALUE)
 
 NORETURN (void rb_insecure_operation(void))
 
VALUE rb_errinfo (void)
 The current exception in the current thread. More...
 
void rb_set_errinfo (VALUE)
 Sets the current exception ($!) to the given value. More...
 
long rb_num2long (VALUE)
 
unsigned long rb_num2ulong (VALUE)
 
short rb_num2short (VALUE)
 
unsigned short rb_num2ushort (VALUE)
 
short rb_fix2short (VALUE)
 
unsigned short rb_fix2ushort (VALUE)
 
double rb_num2dbl (VALUE)
 Converts a Numeric object to double. More...
 
VALUE rb_uint2big (uintptr_t)
 
VALUE rb_int2big (intptr_t)
 
VALUE rb_newobj (void)
 
VALUE rb_newobj_of (VALUE, VALUE)
 
VALUE rb_obj_setup (VALUE obj, VALUE klass, VALUE type)
 Fills common (RBasic) fields in obj. More...
 
struct RUBY_ALIGNAS (SIZEOF_VALUE) RBasic
 
VALUE rb_obj_hide (VALUE obj)
 Make the object invisible from Ruby code. More...
 
VALUE rb_obj_reveal (VALUE obj, VALUE klass)
 Make a hidden object visible again. More...
 
 PUREFUNC (double rb_float_value(VALUE))
 
VALUE rb_float_new (double)
 
VALUE rb_float_new_in_heap (double)
 
size_t rb_hash_size_num (VALUE hash)
 
VALUE rb_data_object_wrap (VALUE, void *, RUBY_DATA_FUNC, RUBY_DATA_FUNC)
 
VALUE rb_data_object_zalloc (VALUE, size_t, RUBY_DATA_FUNC, RUBY_DATA_FUNC)
 
VALUE rb_data_typed_object_wrap (VALUE klass, void *datap, const rb_data_type_t *)
 
VALUE rb_data_typed_object_zalloc (VALUE klass, size_t size, const rb_data_type_t *type)
 
int rb_typeddata_inherited_p (const rb_data_type_t *child, const rb_data_type_t *parent)
 
int rb_typeddata_is_kind_of (VALUE, const rb_data_type_t *)
 
voidrb_check_typeddata (VALUE, const rb_data_type_t *)
 
int rb_big_sign (VALUE)
 
void rb_freeze_singleton_class (VALUE klass)
 
 DEPRECATED_BY (rb_data_object_wrap, static inline VALUE rb_data_object_alloc(VALUE, void *, RUBY_DATA_FUNC, RUBY_DATA_FUNC))
 
 DEPRECATED_BY (rb_data_typed_object_wrap, static inline VALUE rb_data_typed_object_alloc(VALUE, void *, const rb_data_type_t *))
 
void rb_gc_writebarrier (VALUE a, VALUE b)
 
void rb_gc_writebarrier_unprotect (VALUE obj)
 
voidrb_alloc_tmp_buffer (volatile VALUE *store, long len) RUBY_ATTR_ALLOC_SIZE((2))
 
voidrb_alloc_tmp_buffer_with_count (volatile VALUE *store, size_t len, size_t count) RUBY_ATTR_ALLOC_SIZE((2
 
void void rb_free_tmp_buffer (volatile VALUE *store)
 
 NORETURN (void ruby_malloc_size_overflow(size_t, size_t))
 
void rb_obj_infect (VALUE victim, VALUE carrier)
 Does nothing. More...
 
void rb_glob (const char *, void(*)(const char *, VALUE, void *), VALUE)
 
int ruby_glob (const char *, int, ruby_glob_func *, VALUE)
 
int ruby_brace_glob (const char *, int, ruby_glob_func *, VALUE)
 
VALUE rb_define_class (const char *, VALUE)
 Defines a top-level class. More...
 
VALUE rb_define_module (const char *)
 
VALUE rb_define_class_under (VALUE, const char *, VALUE)
 Defines a class under the namespace of outer. More...
 
VALUE rb_define_module_under (VALUE, const char *)
 
void rb_include_module (VALUE, VALUE)
 
void rb_extend_object (VALUE, VALUE)
 Extend the object with the module. More...
 
void rb_prepend_module (VALUE, VALUE)
 
 NORETURN (rb_gvar_setter_t rb_gvar_readonly_setter)
 
void rb_define_variable (const char *, VALUE *)
 
void rb_define_virtual_variable (const char *, rb_gvar_getter_t *, rb_gvar_setter_t *)
 
void rb_define_hooked_variable (const char *, VALUE *, rb_gvar_getter_t *, rb_gvar_setter_t *)
 
void rb_define_readonly_variable (const char *, const VALUE *)
 
void rb_define_const (VALUE, const char *, VALUE)
 
void rb_define_global_const (const char *, VALUE)
 
void rb_define_method (VALUE, const char *, VALUE(*)(ANYARGS), int)
 
void rb_define_module_function (VALUE, const char *, VALUE(*)(ANYARGS), int)
 Defines a module function for module. More...
 
void rb_define_global_function (const char *, VALUE(*)(ANYARGS), int)
 Defines a global function. More...
 
void rb_undef_method (VALUE, const char *)
 
void rb_define_alias (VALUE, const char *, const char *)
 Defines an alias of a method. More...
 
void rb_define_attr (VALUE, const char *, int, int)
 Defines (a) public accessor method(s) for an attribute. More...
 
void rb_global_variable (VALUE *)
 
void rb_gc_register_mark_object (VALUE)
 
void rb_gc_register_address (VALUE *)
 
void rb_gc_unregister_address (VALUE *)
 
ID rb_intern (const char *)
 
ID rb_intern2 (const char *, long)
 
ID rb_intern_str (VALUE str)
 
const charrb_id2name (ID)
 
ID rb_check_id (volatile VALUE *)
 Returns ID for the given name if it is interned already, or 0. More...
 
ID rb_to_id (VALUE)
 
VALUE rb_id2str (ID)
 
VALUE rb_sym2str (VALUE)
 
VALUE rb_to_symbol (VALUE name)
 
VALUE rb_check_symbol (volatile VALUE *namep)
 
const charrb_class2name (VALUE)
 
const charrb_obj_classname (VALUE)
 
void rb_p (VALUE)
 
VALUE rb_eval_string (const char *)
 Evaluates the given string in an isolated binding. More...
 
VALUE rb_eval_string_protect (const char *, int *)
 Evaluates the given string in an isolated binding. More...
 
VALUE rb_eval_string_wrap (const char *, int *)
 Evaluates the given string under a module binding in an isolated binding. More...
 
VALUE rb_funcall (VALUE, ID, int,...)
 Calls a method. More...
 
VALUE rb_funcallv (VALUE, ID, int, const VALUE *)
 Calls a method. More...
 
VALUE rb_funcallv_kw (VALUE, ID, int, const VALUE *, int)
 
VALUE rb_funcallv_public (VALUE, ID, int, const VALUE *)
 Calls a method. More...
 
VALUE rb_funcallv_public_kw (VALUE, ID, int, const VALUE *, int)
 
VALUE rb_funcall_passing_block (VALUE, ID, int, const VALUE *)
 
VALUE rb_funcall_passing_block_kw (VALUE, ID, int, const VALUE *, int)
 
VALUE rb_funcall_with_block (VALUE, ID, int, const VALUE *, VALUE)
 
VALUE rb_funcall_with_block_kw (VALUE, ID, int, const VALUE *, VALUE, int)
 
int rb_scan_args (int, const VALUE *, const char *,...)
 
int rb_scan_args_kw (int, int, const VALUE *, const char *,...)
 
VALUE rb_call_super (int, const VALUE *)
 
VALUE rb_call_super_kw (int, const VALUE *, int)
 
VALUE rb_current_receiver (void)
 
int rb_get_kwargs (VALUE keyword_hash, const ID *table, int required, int optional, VALUE *)
 
VALUE rb_extract_keywords (VALUE *orighash)
 
VALUE rb_gv_set (const char *, VALUE)
 
VALUE rb_gv_get (const char *)
 
VALUE rb_iv_get (VALUE, const char *)
 
VALUE rb_iv_set (VALUE, const char *, VALUE)
 
VALUE rb_equal (VALUE, VALUE)
 Same as Object#===, case equality. More...
 
VALUErb_ruby_verbose_ptr (void)
 
VALUErb_ruby_debug_ptr (void)
 
 PRINTF_ARGS (NORETURN(void rb_raise(VALUE, const char *,...)), 2, 3)
 
 PRINTF_ARGS (NORETURN(void rb_fatal(const char *,...)), 1, 2)
 
COLDFUNC PRINTF_ARGS (NORETURN(void rb_bug(const char *,...)), 1, 2)
 
 NORETURN (void rb_bug_errno(const char *, int))
 
 NORETURN (void rb_sys_fail(const char *))
 
 NORETURN (void rb_sys_fail_str(VALUE))
 
 NORETURN (void rb_mod_sys_fail(VALUE, const char *))
 
 NORETURN (void rb_mod_sys_fail_str(VALUE, VALUE))
 
 NORETURN (void rb_readwrite_sys_fail(enum rb_io_wait_readwrite, const char *))
 
 NORETURN (void rb_exit(int))
 
VALUE rb_syserr_new (int, const char *)
 
VALUE rb_syserr_new_str (int n, VALUE arg)
 
 NORETURN (void rb_syserr_fail(int, const char *))
 
 NORETURN (void rb_syserr_fail_str(int, VALUE))
 
 NORETURN (void rb_mod_syserr_fail(VALUE, int, const char *))
 
 NORETURN (void rb_mod_syserr_fail_str(VALUE, int, VALUE))
 
 NORETURN (void rb_readwrite_syserr_fail(enum rb_io_wait_readwrite, int, const char *))
 
 PRINTF_ARGS (void rb_warning(const char *,...), 1, 2)
 
 PRINTF_ARGS (void rb_compile_warning(const char *, int, const char *,...), 3, 4)
 
VALUE rb_each (VALUE)
 
VALUE rb_yield (VALUE)
 
VALUE rb_yield_values (int n,...)
 
VALUE rb_yield_values2 (int n, const VALUE *argv)
 
VALUE rb_yield_values_kw (int n, const VALUE *argv, int kw_splat)
 
VALUE rb_yield_splat (VALUE)
 
VALUE rb_yield_splat_kw (VALUE, int)
 
VALUE rb_yield_block (RB_BLOCK_CALL_FUNC_ARGLIST(yielded_arg, callback_arg))
 
int rb_keyword_given_p (void)
 
int rb_block_given_p (void)
 Determines if the current method is given a block. More...
 
void rb_need_block (void)
 Declares that the current method needs a block. More...
 
VALUE rb_iterate (VALUE(*)(VALUE), VALUE, rb_block_call_func_t, VALUE)
 
VALUE rb_block_call (VALUE, ID, int, const VALUE *, rb_block_call_func_t, VALUE)
 
VALUE rb_block_call_kw (VALUE, ID, int, const VALUE *, rb_block_call_func_t, VALUE, int)
 
VALUE rb_rescue (VALUE(*)(VALUE), VALUE, VALUE(*)(VALUE, VALUE), VALUE)
 An equivalent of rescue clause. More...
 
VALUE rb_rescue2 (VALUE(*)(VALUE), VALUE, VALUE(*)(VALUE, VALUE), VALUE,...)
 An equivalent of rescue clause. More...
 
VALUE rb_vrescue2 (VALUE(*)(VALUE), VALUE, VALUE(*)(VALUE, VALUE), VALUE, va_list)
 An equivalent of rescue clause. More...
 
VALUE rb_ensure (VALUE(*)(VALUE), VALUE, VALUE(*)(VALUE), VALUE)
 An equivalent to ensure clause. More...
 
VALUE rb_catch (const char *, rb_block_call_func_t, VALUE)
 
VALUE rb_catch_obj (VALUE, rb_block_call_func_t, VALUE)
 
 NORETURN (void rb_throw(const char *, VALUE))
 
VALUE rb_require (const char *)
 
int ruby_native_thread_p (void)
 
void rb_add_event_hook (rb_event_hook_func_t func, rb_event_flag_t events, VALUE data)
 
int rb_remove_event_hook (rb_event_hook_func_t func)
 
int st_locale_insensitive_strcasecmp (const char *s1, const char *s2)
 
int st_locale_insensitive_strncasecmp (const char *s1, const char *s2, size_t n)
 
unsigned long ruby_strtoul (const char *str, char **endptr, int base)
 
 PRINTF_ARGS (int ruby_snprintf(char *str, size_t n, char const *fmt,...), 3, 4)
 
int ruby_vsnprintf (char *str, size_t n, char const *fmt, va_list ap)
 
int rb_empty_keyword_given_p (void)
 
void ruby_sysinit (int *argc, char ***argv)
 Initializes the process for libruby. More...
 
void ruby_init (void)
 Calls ruby_setup() and check error. More...
 
voidruby_options (int argc, char **argv)
 Processes command line arguments and compiles the Ruby source to execute. More...
 
int ruby_executable_node (void *n, int *status)
 Checks the return value of ruby_options(). More...
 
int ruby_run_node (void *n)
 Runs the given compiled source and exits this process. More...
 
void ruby_show_version (void)
 Prints the version information of the CRuby interpreter to stdout. More...
 
void ruby_show_copyright (void)
 Prints the copyright notice of the CRuby interpreter to stdout. More...
 
void ruby_init_stack (volatile VALUE *)
 
int ruby_setup (void)
 Initializes the VM and builtin libraries. More...
 
int ruby_cleanup (volatile int)
 Destructs the VM. More...
 
void ruby_finalize (void)
 Runs the VM finalization processes. More...
 
void ruby_set_stack_size (size_t)
 
int ruby_stack_check (void)
 
size_t ruby_stack_length (VALUE **)
 
int ruby_exec_node (void *n)
 Runs the given compiled source. More...
 
void ruby_script (const char *name)
 Sets the current script name to this value. More...
 
void ruby_set_script_name (VALUE name)
 Sets the current script name to this value. More...
 
void ruby_prog_init (void)
 Defines built-in variables. More...
 
void ruby_set_argv (int, char **)
 
voidruby_process_options (int, char **)
 
void ruby_init_loadpath (void)
 
void ruby_incpush (const char *)
 
void ruby_sig_finalize (void)
 

Variables

rb_gvar_getter_t rb_gvar_undef_getter
 
rb_gvar_setter_t rb_gvar_undef_setter
 
rb_gvar_marker_t rb_gvar_undef_marker
 
rb_gvar_getter_t rb_gvar_val_getter
 
rb_gvar_setter_t rb_gvar_val_setter
 
rb_gvar_marker_t rb_gvar_val_marker
 
rb_gvar_getter_t rb_gvar_var_getter
 
rb_gvar_setter_t rb_gvar_var_setter
 
rb_gvar_marker_t rb_gvar_var_marker
 
RUBY_EXTERN VALUE rb_mKernel
 
RUBY_EXTERN VALUE rb_mComparable
 
RUBY_EXTERN VALUE rb_mEnumerable
 
RUBY_EXTERN VALUE rb_mErrno
 
RUBY_EXTERN VALUE rb_mFileTest
 
RUBY_EXTERN VALUE rb_mGC
 
RUBY_EXTERN VALUE rb_mMath
 
RUBY_EXTERN VALUE rb_mProcess
 
RUBY_EXTERN VALUE rb_mWaitReadable
 
RUBY_EXTERN VALUE rb_mWaitWritable
 
RUBY_EXTERN VALUE rb_cBasicObject
 
RUBY_EXTERN VALUE rb_cObject
 
RUBY_EXTERN VALUE rb_cArray
 
RUBY_EXTERN VALUE rb_cBinding
 
RUBY_EXTERN VALUE rb_cClass
 
RUBY_EXTERN VALUE rb_cCont
 
RUBY_EXTERN VALUE rb_cData
 
RUBY_EXTERN VALUE rb_cDir
 
RUBY_EXTERN VALUE rb_cEncoding
 
RUBY_EXTERN VALUE rb_cEnumerator
 
RUBY_EXTERN VALUE rb_cFalseClass
 
RUBY_EXTERN VALUE rb_cFile
 
RUBY_EXTERN VALUE rb_cComplex
 
RUBY_EXTERN VALUE rb_cFloat
 
RUBY_EXTERN VALUE rb_cHash
 
RUBY_EXTERN VALUE rb_cIO
 
RUBY_EXTERN VALUE rb_cInteger
 
RUBY_EXTERN VALUE rb_cMatch
 
RUBY_EXTERN VALUE rb_cMethod
 
RUBY_EXTERN VALUE rb_cModule
 
RUBY_EXTERN VALUE rb_cNameErrorMesg
 
RUBY_EXTERN VALUE rb_cNilClass
 
RUBY_EXTERN VALUE rb_cNumeric
 
RUBY_EXTERN VALUE rb_cProc
 
RUBY_EXTERN VALUE rb_cRandom
 
RUBY_EXTERN VALUE rb_cRange
 
RUBY_EXTERN VALUE rb_cRational
 
RUBY_EXTERN VALUE rb_cRegexp
 
RUBY_EXTERN VALUE rb_cStat
 
RUBY_EXTERN VALUE rb_cString
 
RUBY_EXTERN VALUE rb_cStruct
 
RUBY_EXTERN VALUE rb_cSymbol
 
RUBY_EXTERN VALUE rb_cThread
 
RUBY_EXTERN VALUE rb_cTime
 
RUBY_EXTERN VALUE rb_cTrueClass
 
RUBY_EXTERN VALUE rb_cUnboundMethod
 
RUBY_EXTERN VALUE rb_eException
 
RUBY_EXTERN VALUE rb_eStandardError
 
RUBY_EXTERN VALUE rb_eSystemExit
 
RUBY_EXTERN VALUE rb_eInterrupt
 
RUBY_EXTERN VALUE rb_eSignal
 
RUBY_EXTERN VALUE rb_eFatal
 
RUBY_EXTERN VALUE rb_eArgError
 
RUBY_EXTERN VALUE rb_eEOFError
 
RUBY_EXTERN VALUE rb_eIndexError
 
RUBY_EXTERN VALUE rb_eStopIteration
 
RUBY_EXTERN VALUE rb_eKeyError
 
RUBY_EXTERN VALUE rb_eRangeError
 
RUBY_EXTERN VALUE rb_eIOError
 
RUBY_EXTERN VALUE rb_eRuntimeError
 
RUBY_EXTERN VALUE rb_eFrozenError
 
RUBY_EXTERN VALUE rb_eSecurityError
 
RUBY_EXTERN VALUE rb_eSystemCallError
 
RUBY_EXTERN VALUE rb_eThreadError
 
RUBY_EXTERN VALUE rb_eTypeError
 
RUBY_EXTERN VALUE rb_eZeroDivError
 
RUBY_EXTERN VALUE rb_eNotImpError
 
RUBY_EXTERN VALUE rb_eNoMemError
 
RUBY_EXTERN VALUE rb_eNoMethodError
 
RUBY_EXTERN VALUE rb_eFloatDomainError
 
RUBY_EXTERN VALUE rb_eLocalJumpError
 
RUBY_EXTERN VALUE rb_eSysStackError
 
RUBY_EXTERN VALUE rb_eRegexpError
 
RUBY_EXTERN VALUE rb_eEncodingError
 
RUBY_EXTERN VALUE rb_eEncCompatError
 
RUBY_EXTERN VALUE rb_eNoMatchingPatternError
 
RUBY_EXTERN VALUE rb_eScriptError
 
RUBY_EXTERN VALUE rb_eNameError
 
RUBY_EXTERN VALUE rb_eSyntaxError
 
RUBY_EXTERN VALUE rb_eLoadError
 
RUBY_EXTERN VALUE rb_eMathDomainError
 
RUBY_EXTERN VALUE rb_stdin
 
RUBY_EXTERN VALUE rb_stdout
 
RUBY_EXTERN VALUE rb_stderr
 

Macro Definition Documentation

◆ ASSUME

#define ASSUME (   x)    ((void)(x))

Definition at line 52 of file ruby.h.

◆ BUILTIN_TYPE

#define BUILTIN_TYPE (   x)    RB_BUILTIN_TYPE(x)

Definition at line 551 of file ruby.h.

◆ CHAR_BIT

#define CHAR_BIT   8

Definition at line 227 of file ruby.h.

◆ Check_SafeStr

#define Check_SafeStr (   v)    [<"Check_SafeStr() is obsolete; use StringValue() instead">]

Definition at line 613 of file ruby.h.

◆ Check_Type

#define Check_Type (   v,
 
)    rb_check_type((VALUE)(v),(t))

Definition at line 595 of file ruby.h.

◆ Check_TypedStruct

#define Check_TypedStruct (   v,
 
)    rb_check_typeddata((VALUE)(v),(t))

Definition at line 1200 of file ruby.h.

◆ CLASS_OF

#define CLASS_OF (   v)    rb_class_of((VALUE)(v))

Definition at line 484 of file ruby.h.

◆ CLONESETUP

#define CLONESETUP (   clone,
  obj 
)    rb_clone_setup(clone,obj)

Definition at line 787 of file ruby.h.

◆ Data_Get_Struct

#define Data_Get_Struct (   obj,
  type,
  sval 
)     ((sval) = (type*)rb_data_object_get(obj))

Definition at line 1249 of file ruby.h.

◆ Data_Make_Struct

#define Data_Make_Struct (   klass,
  type,
  mark,
  free,
  sval 
)
Value:
(\
rb_data_object_make((klass),(RUBY_DATA_FUNC)(mark),(RUBY_DATA_FUNC)(free),(void **)&(sval),sizeof(type)) \
)

Definition at line 1226 of file ruby.h.

◆ Data_Make_Struct0

#define Data_Make_Struct0 (   result,
  klass,
  type,
  size,
  mark,
  free,
  sval 
)
Value:
(RUBY_DATA_FUNC)(mark), \
(void)((sval) = (type *)DATA_PTR(result));

Definition at line 1214 of file ruby.h.

◆ DATA_PTR

#define DATA_PTR (   dta)    (RDATA(dta)->data)

Definition at line 1175 of file ruby.h.

◆ Data_Wrap_Struct

#define Data_Wrap_Struct (   klass,
  mark,
  free,
  sval 
)     rb_data_object_wrap((klass),(sval),(RUBY_DATA_FUNC)(mark),(RUBY_DATA_FUNC)(free))

Definition at line 1211 of file ruby.h.

◆ DBL2NUM

#define DBL2NUM (   dbl)    rb_float_new(dbl)

Definition at line 967 of file ruby.h.

◆ DUPSETUP

#define DUPSETUP (   dup,
  obj 
)    rb_dup_setup(dup,obj)

Definition at line 788 of file ruby.h.

◆ DYNAMIC_SYM_P

#define DYNAMIC_SYM_P (   x)    RB_DYNAMIC_SYM_P(x)

Definition at line 412 of file ruby.h.

◆ ELTS_SHARED

#define ELTS_SHARED   RUBY_ELTS_SHARED

Definition at line 970 of file ruby.h.

◆ ExportStringValue

#define ExportStringValue (   v)
Value:
do {\
StringValue(v);\
(v) = rb_str_export(v);\
} while (0)

Definition at line 617 of file ruby.h.

◆ FilePathStringValue

#define FilePathStringValue (   v)    ((v) = rb_get_path(v))

Definition at line 627 of file ruby.h.

◆ FilePathValue

#define FilePathValue (   v)    (RB_GC_GUARD(v) = rb_get_path(v))

Definition at line 624 of file ruby.h.

◆ FIX2INT

#define FIX2INT (   x)    RB_FIX2INT(x)

Definition at line 717 of file ruby.h.

◆ FIX2LONG

#define FIX2LONG (   x)    RB_FIX2LONG(x)

Definition at line 394 of file ruby.h.

◆ FIX2SHORT

#define FIX2SHORT (   x)    RB_FIX2SHORT(x)

Definition at line 725 of file ruby.h.

◆ FIX2UINT

#define FIX2UINT (   x)    RB_FIX2UINT(x)

Definition at line 718 of file ruby.h.

◆ FIX2ULONG

#define FIX2ULONG (   x)    RB_FIX2ULONG(x)

Definition at line 395 of file ruby.h.

◆ FIXABLE

#define FIXABLE (   f)    RB_FIXABLE(f)

Definition at line 399 of file ruby.h.

◆ FIXNUM_FLAG

#define FIXNUM_FLAG   RUBY_FIXNUM_FLAG

Definition at line 472 of file ruby.h.

◆ FIXNUM_MAX

#define FIXNUM_MAX   RUBY_FIXNUM_MAX

Definition at line 259 of file ruby.h.

◆ FIXNUM_MIN

#define FIXNUM_MIN   RUBY_FIXNUM_MIN

Definition at line 260 of file ruby.h.

◆ FIXNUM_P

#define FIXNUM_P (   f)    RB_FIXNUM_P(f)

Definition at line 396 of file ruby.h.

◆ FL_EXIVAR

#define FL_EXIVAR   ((VALUE)RUBY_FL_EXIVAR)

Definition at line 1286 of file ruby.h.

◆ FL_FINALIZE

#define FL_FINALIZE   ((VALUE)RUBY_FL_FINALIZE)

Definition at line 1282 of file ruby.h.

◆ FL_FREEZE

#define FL_FREEZE   ((VALUE)RUBY_FL_FREEZE)

Definition at line 1287 of file ruby.h.

◆ FL_PROMOTED0

#define FL_PROMOTED0   ((VALUE)RUBY_FL_PROMOTED0)

Definition at line 1280 of file ruby.h.

◆ FL_PROMOTED1

#define FL_PROMOTED1   ((VALUE)RUBY_FL_PROMOTED1)

Definition at line 1281 of file ruby.h.

◆ FL_SEEN_OBJ_ID

#define FL_SEEN_OBJ_ID   ((VALUE)RUBY_FL_SEEN_OBJ_ID)

Definition at line 1285 of file ruby.h.

◆ FL_SINGLETON

#define FL_SINGLETON   ((VALUE)RUBY_FL_SINGLETON)

Definition at line 1278 of file ruby.h.

◆ FL_TAINT

#define FL_TAINT   ((VALUE)RUBY_FL_TAINT)

Definition at line 1283 of file ruby.h.

◆ FL_UNTRUSTED

#define FL_UNTRUSTED   ((VALUE)RUBY_FL_UNTRUSTED)

Definition at line 1284 of file ruby.h.

◆ FL_USER0

#define FL_USER0   ((VALUE)RUBY_FL_USER0)

Definition at line 1291 of file ruby.h.

◆ FL_USER1

#define FL_USER1   ((VALUE)RUBY_FL_USER1)

Definition at line 1292 of file ruby.h.

◆ FL_USER10

#define FL_USER10   ((VALUE)RUBY_FL_USER10)

Definition at line 1301 of file ruby.h.

◆ FL_USER11

#define FL_USER11   ((VALUE)RUBY_FL_USER11)

Definition at line 1302 of file ruby.h.

◆ FL_USER12

#define FL_USER12   ((VALUE)RUBY_FL_USER12)

Definition at line 1303 of file ruby.h.

◆ FL_USER13

#define FL_USER13   ((VALUE)RUBY_FL_USER13)

Definition at line 1304 of file ruby.h.

◆ FL_USER14

#define FL_USER14   ((VALUE)RUBY_FL_USER14)

Definition at line 1305 of file ruby.h.

◆ FL_USER15

#define FL_USER15   ((VALUE)RUBY_FL_USER15)

Definition at line 1306 of file ruby.h.

◆ FL_USER16

#define FL_USER16   ((VALUE)RUBY_FL_USER16)

Definition at line 1307 of file ruby.h.

◆ FL_USER17

#define FL_USER17   ((VALUE)RUBY_FL_USER17)

Definition at line 1308 of file ruby.h.

◆ FL_USER18

#define FL_USER18   ((VALUE)RUBY_FL_USER18)

Definition at line 1309 of file ruby.h.

◆ FL_USER19

#define FL_USER19   ((VALUE)(unsigned int)RUBY_FL_USER19)

Definition at line 1310 of file ruby.h.

◆ FL_USER2

#define FL_USER2   ((VALUE)RUBY_FL_USER2)

Definition at line 1293 of file ruby.h.

◆ FL_USER3

#define FL_USER3   ((VALUE)RUBY_FL_USER3)

Definition at line 1294 of file ruby.h.

◆ FL_USER4

#define FL_USER4   ((VALUE)RUBY_FL_USER4)

Definition at line 1295 of file ruby.h.

◆ FL_USER5

#define FL_USER5   ((VALUE)RUBY_FL_USER5)

Definition at line 1296 of file ruby.h.

◆ FL_USER6

#define FL_USER6   ((VALUE)RUBY_FL_USER6)

Definition at line 1297 of file ruby.h.

◆ FL_USER7

#define FL_USER7   ((VALUE)RUBY_FL_USER7)

Definition at line 1298 of file ruby.h.

◆ FL_USER8

#define FL_USER8   ((VALUE)RUBY_FL_USER8)

Definition at line 1299 of file ruby.h.

◆ FL_USER9

#define FL_USER9   ((VALUE)RUBY_FL_USER9)

Definition at line 1300 of file ruby.h.

◆ FL_USHIFT

#define FL_USHIFT   ((VALUE)RUBY_FL_USHIFT)

Definition at line 1289 of file ruby.h.

◆ FL_WB_PROTECTED

#define FL_WB_PROTECTED   ((VALUE)RUBY_FL_WB_PROTECTED)

Definition at line 1279 of file ruby.h.

◆ FLONUM_FLAG

#define FLONUM_FLAG   RUBY_FLONUM_FLAG

Definition at line 475 of file ruby.h.

◆ FLONUM_MASK

#define FLONUM_MASK   RUBY_FLONUM_MASK

Definition at line 474 of file ruby.h.

◆ FLONUM_P

#define FLONUM_P (   x)    RB_FLONUM_P(x)

Definition at line 430 of file ruby.h.

◆ GIDT2NUM

#define GIDT2NUM (   v)    LONG2NUM(v)

Definition at line 366 of file ruby.h.

◆ HAVE_RB_DATA_TYPE_T_FUNCTION

#define HAVE_RB_DATA_TYPE_T_FUNCTION   1

Definition at line 1165 of file ruby.h.

◆ HAVE_RB_DATA_TYPE_T_PARENT

#define HAVE_RB_DATA_TYPE_T_PARENT   1

Definition at line 1166 of file ruby.h.

◆ HAVE_RB_GC_GUARDED_PTR_VAL

#define HAVE_RB_GC_GUARDED_PTR_VAL   1

Definition at line 584 of file ruby.h.

◆ HAVE_TYPE_RB_DATA_TYPE_T

#define HAVE_TYPE_RB_DATA_TYPE_T   1

Definition at line 1164 of file ruby.h.

◆ ID2SYM

#define ID2SYM (   x)    RB_ID2SYM(x)

Definition at line 414 of file ruby.h.

◆ IMMEDIATE_MASK

#define IMMEDIATE_MASK   RUBY_IMMEDIATE_MASK

Definition at line 471 of file ruby.h.

◆ IMMEDIATE_P

#define IMMEDIATE_P (   x)    RB_IMMEDIATE_P(x)

Definition at line 402 of file ruby.h.

◆ INT2FIX

#define INT2FIX (   i)    RB_INT2FIX(i)

Definition at line 263 of file ruby.h.

◆ LONG2FIX

#define LONG2FIX (   i)    RB_INT2FIX(i)

Definition at line 265 of file ruby.h.

◆ LONG_MAX

#define LONG_MAX   2147483647

Definition at line 220 of file ruby.h.

◆ LONG_MIN

#define LONG_MIN   (-LONG_MAX-1)

Definition at line 224 of file ruby.h.

◆ MODET2NUM

#define MODET2NUM (   v)    INT2NUM(v)

Definition at line 375 of file ruby.h.

◆ NEGFIXABLE

#define NEGFIXABLE (   f)    RB_NEGFIXABLE(f)

Definition at line 398 of file ruby.h.

◆ NEWOBJ

#define NEWOBJ (   obj,
  type 
)    RB_NEWOBJ(obj,type)

Definition at line 784 of file ruby.h.

◆ NEWOBJ_OF

#define NEWOBJ_OF (   obj,
  type,
  klass,
  flags 
)    RB_NEWOBJ_OF(obj,type,klass,flags) /* core has special NEWOBJ_OF() in internal.h */

Definition at line 785 of file ruby.h.

◆ NIL_P

#define NIL_P (   v)    RB_NIL_P(v)

Definition at line 482 of file ruby.h.

◆ NUM2DBL

#define NUM2DBL (   x)    rb_num2dbl((VALUE)(x))

Definition at line 774 of file ruby.h.

◆ NUM2GIDT

#define NUM2GIDT (   v)    NUM2LONG(v)

Definition at line 369 of file ruby.h.

◆ NUM2INT

#define NUM2INT (   x)    RB_NUM2INT(x)

Definition at line 715 of file ruby.h.

◆ NUM2LONG

#define NUM2LONG (   x)    RB_NUM2LONG(x)

Definition at line 679 of file ruby.h.

◆ NUM2MODET

#define NUM2MODET (   v)    NUM2INT(v)

Definition at line 372 of file ruby.h.

◆ NUM2OFFT

#define NUM2OFFT (   x)    NUM2LONG(x)

Definition at line 761 of file ruby.h.

◆ NUM2PIDT

#define NUM2PIDT (   v)    NUM2LONG(v)

Definition at line 357 of file ruby.h.

◆ NUM2SHORT

#define NUM2SHORT (   x)    RB_NUM2SHORT(x)

Definition at line 737 of file ruby.h.

◆ NUM2SIZET

#define NUM2SIZET (   x)    NUM2ULONG(x)

Definition at line 769 of file ruby.h.

◆ NUM2SSIZET

#define NUM2SSIZET (   x)    NUM2LONG(x)

Definition at line 770 of file ruby.h.

◆ NUM2UIDT

#define NUM2UIDT (   v)    NUM2LONG(v)

Definition at line 363 of file ruby.h.

◆ NUM2UINT

#define NUM2UINT (   x)    RB_NUM2UINT(x)

Definition at line 716 of file ruby.h.

◆ NUM2ULONG

#define NUM2ULONG (   x)    RB_NUM2ULONG(x)

Definition at line 689 of file ruby.h.

◆ NUM2USHORT

#define NUM2USHORT (   x)    RB_NUM2USHORT(x)

Definition at line 738 of file ruby.h.

◆ OBJSETUP

#define OBJSETUP (   obj,
  c,
 
)    rb_obj_setup(obj, c, t) /* use NEWOBJ_OF instead of NEWOBJ()+OBJSETUP() */

Definition at line 786 of file ruby.h.

◆ OFFT2NUM

#define OFFT2NUM (   v)    LONG2NUM(v)

Definition at line 285 of file ruby.h.

◆ PIDT2NUM

#define PIDT2NUM (   v)    LONG2NUM(v)

Definition at line 354 of file ruby.h.

◆ POSFIXABLE

#define POSFIXABLE (   f)    RB_POSFIXABLE(f)

Definition at line 397 of file ruby.h.

◆ PRI_INT_PREFIX

#define PRI_INT_PREFIX   ""

Definition at line 126 of file ruby.h.

◆ PRI_LONG_PREFIX

#define PRI_LONG_PREFIX   "l"

Definition at line 129 of file ruby.h.

◆ PRI_PTRDIFF_PREFIX

#define PRI_PTRDIFF_PREFIX   ""

Definition at line 184 of file ruby.h.

◆ PRI_SHORT_PREFIX

#define PRI_SHORT_PREFIX   "h"

Definition at line 132 of file ruby.h.

◆ PRI_SIZE_PREFIX

#define PRI_SIZE_PREFIX   ""

Definition at line 199 of file ruby.h.

◆ PRI_TIMET_PREFIX

#define PRI_TIMET_PREFIX

Definition at line 174 of file ruby.h.

◆ PRI_VALUE_PREFIX

#define PRI_VALUE_PREFIX   "l"

Definition at line 106 of file ruby.h.

◆ PRIdPTR

#define PRIdPTR   PRI_PTR_PREFIX"d"

Definition at line 144 of file ruby.h.

◆ PRIdPTRDIFF

#define PRIdPTRDIFF   PRI_PTRDIFF_PREFIX"d"

Definition at line 190 of file ruby.h.

◆ PRIdSIZE

#define PRIdSIZE   PRI_SIZE_PREFIX"d"

Definition at line 205 of file ruby.h.

◆ PRIdVALUE

#define PRIdVALUE   PRI_VALUE_PREFIX"d"

Definition at line 161 of file ruby.h.

◆ PRIiPTR

#define PRIiPTR   PRI_PTR_PREFIX"i"

Definition at line 145 of file ruby.h.

◆ PRIiPTRDIFF

#define PRIiPTRDIFF   PRI_PTRDIFF_PREFIX"i"

Definition at line 191 of file ruby.h.

◆ PRIiSIZE

#define PRIiSIZE   PRI_SIZE_PREFIX"i"

Definition at line 206 of file ruby.h.

◆ PRIoPTR

#define PRIoPTR   PRI_PTR_PREFIX"o"

Definition at line 146 of file ruby.h.

◆ PRIoPTRDIFF

#define PRIoPTRDIFF   PRI_PTRDIFF_PREFIX"o"

Definition at line 192 of file ruby.h.

◆ PRIoSIZE

#define PRIoSIZE   PRI_SIZE_PREFIX"o"

Definition at line 207 of file ruby.h.

◆ PRIoVALUE

#define PRIoVALUE   PRI_VALUE_PREFIX"o"

Definition at line 162 of file ruby.h.

◆ PRIsVALUE

#define PRIsVALUE   PRI_VALUE_PREFIX"i" RUBY_PRI_VALUE_MARK

Definition at line 166 of file ruby.h.

◆ PRIuPTR

#define PRIuPTR   PRI_PTR_PREFIX"u"

Definition at line 147 of file ruby.h.

◆ PRIuPTRDIFF

#define PRIuPTRDIFF   PRI_PTRDIFF_PREFIX"u"

Definition at line 193 of file ruby.h.

◆ PRIuSIZE

#define PRIuSIZE   PRI_SIZE_PREFIX"u"

Definition at line 208 of file ruby.h.

◆ PRIuVALUE

#define PRIuVALUE   PRI_VALUE_PREFIX"u"

Definition at line 163 of file ruby.h.

◆ PRIxPTR

#define PRIxPTR   PRI_PTR_PREFIX"x"

Definition at line 148 of file ruby.h.

◆ PRIXPTR

#define PRIXPTR   PRI_PTR_PREFIX"X"

Definition at line 149 of file ruby.h.

◆ PRIxPTRDIFF

#define PRIxPTRDIFF   PRI_PTRDIFF_PREFIX"x"

Definition at line 194 of file ruby.h.

◆ PRIXPTRDIFF

#define PRIXPTRDIFF   PRI_PTRDIFF_PREFIX"X"

Definition at line 195 of file ruby.h.

◆ PRIxSIZE

#define PRIxSIZE   PRI_SIZE_PREFIX"x"

Definition at line 209 of file ruby.h.

◆ PRIXSIZE

#define PRIXSIZE   PRI_SIZE_PREFIX"X"

Definition at line 210 of file ruby.h.

◆ PRIxVALUE

#define PRIxVALUE   PRI_VALUE_PREFIX"x"

Definition at line 164 of file ruby.h.

◆ PRIXVALUE

#define PRIXVALUE   PRI_VALUE_PREFIX"X"

Definition at line 165 of file ruby.h.

◆ Qfalse

#define Qfalse   RUBY_Qfalse

Definition at line 467 of file ruby.h.

◆ Qnil

#define Qnil   RUBY_Qnil

Definition at line 469 of file ruby.h.

◆ Qtrue

#define Qtrue   RUBY_Qtrue

Definition at line 468 of file ruby.h.

◆ Qundef

#define Qundef   RUBY_Qundef

Definition at line 470 of file ruby.h.

◆ R_CAST

#define R_CAST (   st)    (struct st*)

Definition at line 1265 of file ruby.h.

◆ RARRAY

#define RARRAY (   obj)    (R_CAST(RArray)(obj))

Definition at line 1273 of file ruby.h.

◆ RARRAY_AREF

#define RARRAY_AREF (   a,
  i 
)    (RARRAY_CONST_PTR_TRANSIENT(a)[i])

Definition at line 1101 of file ruby.h.

◆ RARRAY_ASET

#define RARRAY_ASET (   a,
  i,
  v 
)
Value:
do { \
const VALUE _ary = (a); \
const VALUE _v = (v); \
RB_OBJ_WRITE(_ary, &ptr[i], _v); \
RARRAY_PTR_USE_END_TRANSIENT(_ary); \
} while (0)

Definition at line 1102 of file ruby.h.

◆ RARRAY_CONST_PTR

#define RARRAY_CONST_PTR (   a)    rb_array_const_ptr(a)

Definition at line 1072 of file ruby.h.

◆ RARRAY_CONST_PTR_TRANSIENT

#define RARRAY_CONST_PTR_TRANSIENT (   a)    rb_array_const_ptr_transient(a)

Definition at line 1073 of file ruby.h.

◆ RARRAY_EMBED_FLAG

#define RARRAY_EMBED_FLAG   (VALUE)RARRAY_EMBED_FLAG

Definition at line 1043 of file ruby.h.

◆ RARRAY_EMBED_LEN

#define RARRAY_EMBED_LEN (   a)
Value:

Definition at line 1067 of file ruby.h.

◆ RARRAY_EMBED_LEN_MASK

#define RARRAY_EMBED_LEN_MASK   (VALUE)RARRAY_EMBED_LEN_MASK

Definition at line 1044 of file ruby.h.

◆ RARRAY_EMBED_LEN_MAX

#define RARRAY_EMBED_LEN_MAX   RARRAY_EMBED_LEN_MAX

Definition at line 1045 of file ruby.h.

◆ RARRAY_EMBED_LEN_SHIFT

#define RARRAY_EMBED_LEN_SHIFT   RARRAY_EMBED_LEN_SHIFT

Definition at line 1046 of file ruby.h.

◆ RARRAY_LEN

#define RARRAY_LEN (   a)    rb_array_len(a)

Definition at line 1070 of file ruby.h.

◆ RARRAY_LENINT

#define RARRAY_LENINT (   ary)    rb_long2int(RARRAY_LEN(ary))

Definition at line 1071 of file ruby.h.

◆ RARRAY_PTR

#define RARRAY_PTR (   a)    ((VALUE *)RARRAY_CONST_PTR(RB_OBJ_WB_UNPROTECT_FOR(ARRAY, a)))

Definition at line 1110 of file ruby.h.

◆ RARRAY_PTR_USE

#define RARRAY_PTR_USE (   ary,
  ptr_name,
  expr 
)
Value:
do { \
const VALUE _ary = (ary); \
VALUE *ptr_name = (VALUE *)RARRAY_PTR_USE_START(_ary); \
expr; \
RARRAY_PTR_USE_END(_ary); \
} while (0)

Definition at line 1094 of file ruby.h.

◆ RARRAY_PTR_USE_END

#define RARRAY_PTR_USE_END (   a)    rb_array_ptr_use_end(a, 0)

Definition at line 1092 of file ruby.h.

◆ RARRAY_PTR_USE_END_TRANSIENT

#define RARRAY_PTR_USE_END_TRANSIENT (   a)    rb_array_ptr_use_end(a, 1)

Definition at line 1082 of file ruby.h.

◆ RARRAY_PTR_USE_START

#define RARRAY_PTR_USE_START (   a)    rb_array_ptr_use_start(a, 0)

Definition at line 1091 of file ruby.h.

◆ RARRAY_PTR_USE_START_TRANSIENT

#define RARRAY_PTR_USE_START_TRANSIENT (   a)    rb_array_ptr_use_start(a, 1)

Definition at line 1081 of file ruby.h.

◆ RARRAY_PTR_USE_TRANSIENT

#define RARRAY_PTR_USE_TRANSIENT (   ary,
  ptr_name,
  expr 
)
Value:
do { \
const VALUE _ary = (ary); \
VALUE *ptr_name = (VALUE *)RARRAY_PTR_USE_START_TRANSIENT(_ary); \
expr; \
RARRAY_PTR_USE_END_TRANSIENT(_ary); \
} while (0)

Definition at line 1084 of file ruby.h.

◆ RARRAY_TRANSIENT_P

#define RARRAY_TRANSIENT_P (   ary)    FL_TEST_RAW((ary), RARRAY_TRANSIENT_FLAG)

Definition at line 1076 of file ruby.h.

◆ RB_BUILTIN_TYPE

#define RB_BUILTIN_TYPE (   x)    (int)(((struct RBasic*)(x))->flags & RUBY_T_MASK)

Definition at line 550 of file ruby.h.

◆ rb_check_safe_str

#define rb_check_safe_str (   x)    [<"rb_check_safe_str() is obsolete; use StringValue() instead">]

Definition at line 612 of file ruby.h.

◆ RB_DYNAMIC_SYM_P

#define RB_DYNAMIC_SYM_P (   x)    (!RB_SPECIAL_CONST_P(x) && RB_BUILTIN_TYPE(x) == (RUBY_T_SYMBOL))

Definition at line 407 of file ruby.h.

◆ RB_FIX2INT

#define RB_FIX2INT (   x)    ((int)RB_FIX2LONG(x))

Definition at line 712 of file ruby.h.

◆ RB_FIX2LONG

#define RB_FIX2LONG (   x)    ((long)RSHIFT((SIGNED_VALUE)(x),1))

Definition at line 378 of file ruby.h.

◆ RB_FIX2SHORT

#define RB_FIX2SHORT (   x)    (rb_fix2short((VALUE)(x)))

Definition at line 724 of file ruby.h.

◆ RB_FIX2UINT

#define RB_FIX2UINT (   x)    ((unsigned int)RB_FIX2ULONG(x))

Definition at line 713 of file ruby.h.

◆ RB_FIX2ULONG

#define RB_FIX2ULONG (   x)    ((unsigned long)RB_FIX2LONG(x))

Definition at line 384 of file ruby.h.

◆ rb_fix_new

#define rb_fix_new (   v)    RB_INT2FIX(v)

Definition at line 266 of file ruby.h.

◆ RB_FIXABLE

#define RB_FIXABLE (   f)    (RB_POSFIXABLE(f) && RB_NEGFIXABLE(f))

Definition at line 393 of file ruby.h.

◆ RB_FIXNUM_P

#define RB_FIXNUM_P (   f)    (((int)(SIGNED_VALUE)(f))&RUBY_FIXNUM_FLAG)

Definition at line 390 of file ruby.h.

◆ RB_FL_ABLE

#define RB_FL_ABLE (   x)    (!RB_SPECIAL_CONST_P(x) && RB_BUILTIN_TYPE(x) != RUBY_T_NODE)

Definition at line 1315 of file ruby.h.

◆ RB_FL_ALL

#define RB_FL_ALL (   x,
  f 
)    (RB_FL_TEST((x),(f)) == (f))

Definition at line 1321 of file ruby.h.

◆ RB_FL_ALL_RAW

#define RB_FL_ALL_RAW (   x,
  f 
)    (RB_FL_TEST_RAW((x),(f)) == (f))

Definition at line 1320 of file ruby.h.

◆ RB_FL_ANY

#define RB_FL_ANY (   x,
  f 
)    RB_FL_TEST((x),(f))

Definition at line 1319 of file ruby.h.

◆ RB_FL_ANY_RAW

#define RB_FL_ANY_RAW (   x,
  f 
)    RB_FL_TEST_RAW((x),(f))

Definition at line 1318 of file ruby.h.

◆ RB_FL_REVERSE

#define RB_FL_REVERSE (   x,
  f 
)    (RB_FL_ABLE(x) ? RB_FL_REVERSE_RAW(x, f) : (void)0)

Definition at line 1327 of file ruby.h.

◆ RB_FL_REVERSE_RAW

#define RB_FL_REVERSE_RAW (   x,
  f 
)    (void)(RBASIC(x)->flags ^= (f))

Definition at line 1326 of file ruby.h.

◆ RB_FL_SET

#define RB_FL_SET (   x,
  f 
)    (RB_FL_ABLE(x) ? RB_FL_SET_RAW(x, f) : (void)0)

Definition at line 1323 of file ruby.h.

◆ RB_FL_SET_RAW

#define RB_FL_SET_RAW (   x,
  f 
)    (void)(RBASIC(x)->flags |= (f))

Definition at line 1322 of file ruby.h.

◆ RB_FL_TEST

#define RB_FL_TEST (   x,
  f 
)    (RB_FL_ABLE(x)?RB_FL_TEST_RAW((x),(f)):0)

Definition at line 1317 of file ruby.h.

◆ RB_FL_TEST_RAW

#define RB_FL_TEST_RAW (   x,
  f 
)    (RBASIC(x)->flags&(f))

Definition at line 1316 of file ruby.h.

◆ RB_FL_UNSET

#define RB_FL_UNSET (   x,
  f 
)    (RB_FL_ABLE(x) ? RB_FL_UNSET_RAW(x, f) : (void)0)

Definition at line 1325 of file ruby.h.

◆ RB_FL_UNSET_RAW

#define RB_FL_UNSET_RAW (   x,
  f 
)    (void)(RBASIC(x)->flags &= ~(VALUE)(f))

Definition at line 1324 of file ruby.h.

◆ RB_FLOAT_TYPE_P

#define RB_FLOAT_TYPE_P (   obj)
Value:
(\
RB_FLONUM_P(obj) || \

Definition at line 556 of file ruby.h.

◆ RB_FLONUM_P

#define RB_FLONUM_P (   x)    ((((int)(SIGNED_VALUE)(x))&RUBY_FLONUM_MASK) == RUBY_FLONUM_FLAG)

Definition at line 426 of file ruby.h.

◆ RB_GC_GUARD

#define RB_GC_GUARD (   v)    (*rb_gc_guarded_ptr_val(&(v),(v)))

Definition at line 585 of file ruby.h.

◆ RB_ID2SYM

#define RB_ID2SYM (   x)    (rb_id2sym(x))

Definition at line 409 of file ruby.h.

◆ RB_IMMEDIATE_P

#define RB_IMMEDIATE_P (   x)    ((VALUE)(x) & RUBY_IMMEDIATE_MASK)

Definition at line 401 of file ruby.h.

◆ RB_INT2FIX

#define RB_INT2FIX (   i)    (((VALUE)(i))<<1 | RUBY_FIXNUM_FLAG)

Definition at line 262 of file ruby.h.

◆ rb_int_new

#define rb_int_new (   v)    rb_int2inum(v)

Definition at line 269 of file ruby.h.

◆ RB_LONG2FIX

#define RB_LONG2FIX (   i)    RB_INT2FIX(i)

Definition at line 264 of file ruby.h.

◆ rb_long2int

#define rb_long2int (   n)    ((int)(n))

Definition at line 350 of file ruby.h.

◆ RB_NEGFIXABLE

#define RB_NEGFIXABLE (   f)    ((f) >= RUBY_FIXNUM_MIN)

Definition at line 392 of file ruby.h.

◆ RB_NEWOBJ

#define RB_NEWOBJ (   obj,
  type 
)    type *(obj) = (type*)rb_newobj()

Definition at line 782 of file ruby.h.

◆ RB_NEWOBJ_OF

#define RB_NEWOBJ_OF (   obj,
  type,
  klass,
  flags 
)    type *(obj) = (type*)rb_newobj_of(klass, flags)

Definition at line 783 of file ruby.h.

◆ RB_NIL_P

#define RB_NIL_P (   v)    !((VALUE)(v) != RUBY_Qnil)

Definition at line 480 of file ruby.h.

◆ RB_NUM2INT

#define RB_NUM2INT (   x)    ((int)RB_NUM2LONG(x))

Definition at line 710 of file ruby.h.

◆ RB_NUM2LONG

#define RB_NUM2LONG (   x)    rb_num2long_inline(x)

Definition at line 678 of file ruby.h.

◆ RB_NUM2SHORT

#define RB_NUM2SHORT (   x)    rb_num2short_inline(x)

Definition at line 735 of file ruby.h.

◆ RB_NUM2UINT

#define RB_NUM2UINT (   x)    ((unsigned int)RB_NUM2ULONG(x))

Definition at line 711 of file ruby.h.

◆ RB_NUM2ULONG

#define RB_NUM2ULONG (   x)    rb_num2ulong_inline(x)

Definition at line 688 of file ruby.h.

◆ RB_NUM2USHORT

#define RB_NUM2USHORT (   x)    rb_num2ushort(x)

Definition at line 736 of file ruby.h.

◆ RB_OBJ_FREEZE

#define RB_OBJ_FREEZE (   x)    rb_obj_freeze_inline((VALUE)x)

Definition at line 1344 of file ruby.h.

◆ RB_OBJ_FREEZE_RAW

#define RB_OBJ_FREEZE_RAW (   x)    (void)(RBASIC(x)->flags |= RUBY_FL_FREEZE)

Definition at line 1343 of file ruby.h.

◆ RB_OBJ_FROZEN

#define RB_OBJ_FROZEN (   x)    (!RB_FL_ABLE(x) || RB_OBJ_FROZEN_RAW(x))

Definition at line 1342 of file ruby.h.

◆ RB_OBJ_FROZEN_RAW

#define RB_OBJ_FROZEN_RAW (   x)    (RBASIC(x)->flags&RUBY_FL_FREEZE)

Definition at line 1341 of file ruby.h.

◆ RB_OBJ_INFECT

#define RB_OBJ_INFECT (   x,
 
)
Value:
( \
RB_OBJ_INFECT_RAW(x, s) : (void)0)

Definition at line 1337 of file ruby.h.

◆ RB_OBJ_INFECT_RAW

#define RB_OBJ_INFECT_RAW (   x,
 
)    RB_FL_SET_RAW(x, RB_OBJ_TAINTED_RAW(s))

Definition at line 1336 of file ruby.h.

◆ RB_OBJ_TAINT

#define RB_OBJ_TAINT (   x)    (RB_OBJ_TAINTABLE(x) ? RB_OBJ_TAINT_RAW(x) : (void)0)

Definition at line 1333 of file ruby.h.

◆ RB_OBJ_TAINT_RAW

#define RB_OBJ_TAINT_RAW (   x)    RB_FL_SET_RAW(x, RUBY_FL_TAINT)

Definition at line 1332 of file ruby.h.

◆ RB_OBJ_TAINTABLE

#define RB_OBJ_TAINTABLE (   x)    (RB_FL_ABLE(x) && RB_BUILTIN_TYPE(x) != RUBY_T_BIGNUM && RB_BUILTIN_TYPE(x) != RUBY_T_FLOAT)

Definition at line 1329 of file ruby.h.

◆ RB_OBJ_TAINTED

#define RB_OBJ_TAINTED (   x)    (!!RB_FL_TEST((x), RUBY_FL_TAINT))

Definition at line 1331 of file ruby.h.

◆ RB_OBJ_TAINTED_RAW

#define RB_OBJ_TAINTED_RAW (   x)    RB_FL_TEST_RAW(x, RUBY_FL_TAINT)

Definition at line 1330 of file ruby.h.

◆ RB_OBJ_UNTRUST

#define RB_OBJ_UNTRUST (   x)    RB_OBJ_TAINT(x)

Definition at line 1335 of file ruby.h.

◆ RB_OBJ_UNTRUSTED

#define RB_OBJ_UNTRUSTED (   x)    RB_OBJ_TAINTED(x)

Definition at line 1334 of file ruby.h.

◆ RB_OBJ_WB_UNPROTECT_FOR

#define RB_OBJ_WB_UNPROTECT_FOR (   type,
  obj 
)
Value:
(RGENGC_WB_PROTECTED_##type ? \
OBJ_WB_UNPROTECT((VALUE)(obj)) : ((VALUE)(obj)))

Definition at line 901 of file ruby.h.

◆ RB_POSFIXABLE

#define RB_POSFIXABLE (   f)    ((f) < RUBY_FIXNUM_MAX+1)

Definition at line 391 of file ruby.h.

◆ RB_SPECIAL_CONST_P

#define RB_SPECIAL_CONST_P (   x)    (RB_IMMEDIATE_P(x) || !RB_TEST(x))

Definition at line 1312 of file ruby.h.

◆ RB_STATIC_SYM_P

#define RB_STATIC_SYM_P (   x)    (((VALUE)(x)&~((~(VALUE)0)<<RUBY_SPECIAL_SHIFT)) == RUBY_SYMBOL_FLAG)

Definition at line 406 of file ruby.h.

◆ RB_SYM2ID

#define RB_SYM2ID (   x)    (rb_sym2id(x))

Definition at line 410 of file ruby.h.

◆ RB_SYMBOL_P

#define RB_SYMBOL_P (   x)    (RB_STATIC_SYM_P(x)||RB_DYNAMIC_SYM_P(x))

Definition at line 408 of file ruby.h.

◆ RB_TEST

#define RB_TEST (   v)    !(((VALUE)(v) & (VALUE)~RUBY_Qnil) == 0)

Definition at line 479 of file ruby.h.

◆ RB_TYPE_P

#define RB_TYPE_P (   obj,
  type 
)
Value:
( \
((type) == RUBY_T_TRUE) ? ((obj) == RUBY_Qtrue) : \
((type) == RUBY_T_FALSE) ? ((obj) == RUBY_Qfalse) : \
((type) == RUBY_T_NIL) ? ((obj) == RUBY_Qnil) : \
((type) == RUBY_T_UNDEF) ? ((obj) == RUBY_Qundef) : \

Definition at line 560 of file ruby.h.

◆ rb_uint_new

#define rb_uint_new (   v)    rb_uint2inum(v)

Definition at line 272 of file ruby.h.

◆ RB_UNUSED_VAR

#define RB_UNUSED_VAR (   x)    x

Definition at line 591 of file ruby.h.

◆ RBASIC

#define RBASIC (   obj)    (R_CAST(RBasic)(obj))

Definition at line 1267 of file ruby.h.

◆ RBASIC_CLASS

#define RBASIC_CLASS (   obj)    (RBASIC(obj)->klass)

Definition at line 906 of file ruby.h.

◆ RBIGNUM_NEGATIVE_P

#define RBIGNUM_NEGATIVE_P (   b)    (RBIGNUM_SIGN(b)==0)

Definition at line 1263 of file ruby.h.

◆ RBIGNUM_POSITIVE_P

#define RBIGNUM_POSITIVE_P (   b)    (RBIGNUM_SIGN(b)!=0)

Definition at line 1262 of file ruby.h.

◆ RBIGNUM_SIGN

#define RBIGNUM_SIGN (   b)    (rb_big_sign(b))

Definition at line 1261 of file ruby.h.

◆ RCLASS

#define RCLASS (   obj)    (R_CAST(RClass)(obj))

Definition at line 1269 of file ruby.h.

◆ RCLASS_SUPER

#define RCLASS_SUPER (   c)    rb_class_get_superclass(c)

Definition at line 946 of file ruby.h.

◆ RDATA

#define RDATA (   obj)    (R_CAST(RData)(obj))

Definition at line 1274 of file ruby.h.

◆ RFILE

#define RFILE (   obj)    (R_CAST(RFile)(obj))

Definition at line 1276 of file ruby.h.

◆ RFLOAT_VALUE

#define RFLOAT_VALUE (   v)    rb_float_value(v)

Definition at line 966 of file ruby.h.

◆ RGENGC_WB_PROTECTED_ARRAY

#define RGENGC_WB_PROTECTED_ARRAY   1

Definition at line 802 of file ruby.h.

◆ RGENGC_WB_PROTECTED_BIGNUM

#define RGENGC_WB_PROTECTED_BIGNUM   1

Definition at line 832 of file ruby.h.

◆ RGENGC_WB_PROTECTED_CLASS

#define RGENGC_WB_PROTECTED_CLASS   1

Definition at line 820 of file ruby.h.

◆ RGENGC_WB_PROTECTED_COMPLEX

#define RGENGC_WB_PROTECTED_COMPLEX   1

Definition at line 826 of file ruby.h.

◆ RGENGC_WB_PROTECTED_FLOAT

#define RGENGC_WB_PROTECTED_FLOAT   1

Definition at line 823 of file ruby.h.

◆ RGENGC_WB_PROTECTED_HASH

#define RGENGC_WB_PROTECTED_HASH   1

Definition at line 805 of file ruby.h.

◆ RGENGC_WB_PROTECTED_NODE_CREF

#define RGENGC_WB_PROTECTED_NODE_CREF   1

Definition at line 835 of file ruby.h.

◆ RGENGC_WB_PROTECTED_OBJECT

#define RGENGC_WB_PROTECTED_OBJECT   1

Definition at line 814 of file ruby.h.

◆ RGENGC_WB_PROTECTED_RATIONAL

#define RGENGC_WB_PROTECTED_RATIONAL   1

Definition at line 829 of file ruby.h.

◆ RGENGC_WB_PROTECTED_REGEXP

#define RGENGC_WB_PROTECTED_REGEXP   1

Definition at line 817 of file ruby.h.

◆ RGENGC_WB_PROTECTED_STRING

#define RGENGC_WB_PROTECTED_STRING   1

Definition at line 811 of file ruby.h.

◆ RGENGC_WB_PROTECTED_STRUCT

#define RGENGC_WB_PROTECTED_STRUCT   1

Definition at line 808 of file ruby.h.

◆ RHASH_EMPTY_P

#define RHASH_EMPTY_P (   h)    (RHASH_SIZE(h) == 0)

Definition at line 1131 of file ruby.h.

◆ RHASH_IFNONE

#define RHASH_IFNONE (   h)    rb_hash_ifnone(h)

Definition at line 1129 of file ruby.h.

◆ RHASH_ITER_LEV

#define RHASH_ITER_LEV (   h)    rb_hash_iter_lev(h)

Definition at line 1128 of file ruby.h.

◆ RHASH_SET_IFNONE

#define RHASH_SET_IFNONE (   h,
  ifnone 
)    rb_hash_set_ifnone((VALUE)h, ifnone)

Definition at line 1132 of file ruby.h.

◆ RHASH_SIZE

#define RHASH_SIZE (   h)    rb_hash_size_num(h)

Definition at line 1130 of file ruby.h.

◆ RHASH_TBL

#define RHASH_TBL (   h)    rb_hash_tbl(h, __FILE__, __LINE__)

Definition at line 1127 of file ruby.h.

◆ RMODULE

#define RMODULE (   obj)    RCLASS(obj)

Definition at line 1270 of file ruby.h.

◆ RMODULE_CONST_TBL

#define RMODULE_CONST_TBL (   m)    RCLASS_CONST_TBL(m)

Definition at line 948 of file ruby.h.

◆ RMODULE_INCLUDED_INTO_REFINEMENT

#define RMODULE_INCLUDED_INTO_REFINEMENT   RMODULE_INCLUDED_INTO_REFINEMENT

Definition at line 953 of file ruby.h.

◆ RMODULE_IS_OVERLAID

#define RMODULE_IS_OVERLAID   RMODULE_IS_OVERLAID

Definition at line 951 of file ruby.h.

◆ RMODULE_IS_REFINEMENT

#define RMODULE_IS_REFINEMENT   RMODULE_IS_REFINEMENT

Definition at line 952 of file ruby.h.

◆ RMODULE_IV_TBL

#define RMODULE_IV_TBL (   m)    RCLASS_IV_TBL(m)

Definition at line 947 of file ruby.h.

◆ RMODULE_M_TBL

#define RMODULE_M_TBL (   m)    RCLASS_M_TBL(m)

Definition at line 949 of file ruby.h.

◆ RMODULE_SUPER

#define RMODULE_SUPER (   m)    RCLASS_SUPER(m)

Definition at line 950 of file ruby.h.

◆ RMOVED

#define RMOVED (   obj)    (R_CAST(RMoved)(obj))

Definition at line 1266 of file ruby.h.

◆ ROBJECT

#define ROBJECT (   obj)    (R_CAST(RObject)(obj))

Definition at line 1268 of file ruby.h.

◆ ROBJECT_EMBED

#define ROBJECT_EMBED   ROBJECT_EMBED

Definition at line 914 of file ruby.h.

◆ ROBJECT_EMBED_LEN_MAX

#define ROBJECT_EMBED_LEN_MAX   ROBJECT_EMBED_LEN_MAX

Definition at line 913 of file ruby.h.

◆ ROBJECT_IV_INDEX_TBL

#define ROBJECT_IV_INDEX_TBL (   o)
Value:
((RBASIC(o)->flags & ROBJECT_EMBED) ? \
ROBJECT(o)->as.heap.iv_index_tbl)

Definition at line 941 of file ruby.h.

◆ ROBJECT_IVPTR

#define ROBJECT_IVPTR (   o)
Value:
((RBASIC(o)->flags & ROBJECT_EMBED) ? \
ROBJECT(o)->as.ary : \
ROBJECT(o)->as.heap.ivptr)

Definition at line 937 of file ruby.h.

◆ ROBJECT_NUMIV

#define ROBJECT_NUMIV (   o)
Value:
((RBASIC(o)->flags & ROBJECT_EMBED) ? \
ROBJECT(o)->as.heap.numiv)

Definition at line 933 of file ruby.h.

◆ RREGEXP

#define RREGEXP (   obj)    (R_CAST(RRegexp)(obj))

Definition at line 1272 of file ruby.h.

◆ RREGEXP_PTR

#define RREGEXP_PTR (   r)    (RREGEXP(r)->ptr)

Definition at line 1118 of file ruby.h.

◆ RREGEXP_SRC

#define RREGEXP_SRC (   r)    (RREGEXP(r)->src)

Definition at line 1119 of file ruby.h.

◆ RREGEXP_SRC_END

#define RREGEXP_SRC_END (   r)    RSTRING_END(RREGEXP(r)->src)

Definition at line 1122 of file ruby.h.

◆ RREGEXP_SRC_LEN

#define RREGEXP_SRC_LEN (   r)    RSTRING_LEN(RREGEXP(r)->src)

Definition at line 1121 of file ruby.h.

◆ RREGEXP_SRC_PTR

#define RREGEXP_SRC_PTR (   r)    RSTRING_PTR(RREGEXP(r)->src)

Definition at line 1120 of file ruby.h.

◆ RSTRING

#define RSTRING (   obj)    (R_CAST(RString)(obj))

Definition at line 1271 of file ruby.h.

◆ RSTRING_EMBED_LEN

#define RSTRING_EMBED_LEN (   str)
Value:

Definition at line 1002 of file ruby.h.

◆ RSTRING_EMBED_LEN_MASK

#define RSTRING_EMBED_LEN_MASK   RSTRING_EMBED_LEN_MASK

Definition at line 973 of file ruby.h.

◆ RSTRING_EMBED_LEN_MAX

#define RSTRING_EMBED_LEN_MAX   RSTRING_EMBED_LEN_MAX

Definition at line 975 of file ruby.h.

◆ RSTRING_EMBED_LEN_SHIFT

#define RSTRING_EMBED_LEN_SHIFT   RSTRING_EMBED_LEN_SHIFT

Definition at line 974 of file ruby.h.

◆ RSTRING_END

#define RSTRING_END (   str)
Value:
(!(RBASIC(str)->flags & RSTRING_NOEMBED) ? \
(RSTRING(str)->as.ary + RSTRING_EMBED_LEN(str)) : \
(RSTRING(str)->as.heap.ptr + RSTRING(str)->as.heap.len))

Definition at line 1013 of file ruby.h.

◆ RSTRING_FSTR

#define RSTRING_FSTR   RSTRING_FSTR

Definition at line 976 of file ruby.h.

◆ RSTRING_GETMEM

#define RSTRING_GETMEM (   str,
  ptrvar,
  lenvar 
)
Value:
(!(RBASIC(str)->flags & RSTRING_NOEMBED) ? \
((ptrvar) = RSTRING(str)->as.ary, (lenvar) = RSTRING_EMBED_LEN(str)) : \
((ptrvar) = RSTRING(str)->as.heap.ptr, (lenvar) = RSTRING(str)->as.heap.len))

Definition at line 1018 of file ruby.h.

◆ RSTRING_LEN

#define RSTRING_LEN (   str)
Value:
(!(RBASIC(str)->flags & RSTRING_NOEMBED) ? \
RSTRING(str)->as.heap.len)

Definition at line 1005 of file ruby.h.

◆ RSTRING_LENINT

#define RSTRING_LENINT (   str)    rb_long2int(RSTRING_LEN(str))

Definition at line 1017 of file ruby.h.

◆ RSTRING_NOEMBED

#define RSTRING_NOEMBED   RSTRING_NOEMBED

Definition at line 972 of file ruby.h.

◆ RSTRING_PTR

#define RSTRING_PTR (   str)
Value:
(!(RBASIC(str)->flags & RSTRING_NOEMBED) ? \
RSTRING(str)->as.ary : \
RSTRING(str)->as.heap.ptr)

Definition at line 1009 of file ruby.h.

◆ RSTRUCT_GET

#define RSTRUCT_GET (   st,
  idx 
)    rb_struct_aref(st, INT2NUM(idx))

Definition at line 1258 of file ruby.h.

◆ RSTRUCT_LEN

#define RSTRUCT_LEN (   st)    NUM2LONG(rb_struct_size(st))

Definition at line 1255 of file ruby.h.

◆ RSTRUCT_PTR

#define RSTRUCT_PTR (   st)    rb_struct_ptr(st)

Definition at line 1256 of file ruby.h.

◆ RSTRUCT_SET

#define RSTRUCT_SET (   st,
  idx,
  v 
)    rb_struct_aset(st, INT2NUM(idx), (v))

Definition at line 1257 of file ruby.h.

◆ RTEST

#define RTEST (   v)    RB_TEST(v)

Definition at line 481 of file ruby.h.

◆ RTYPEDDATA

#define RTYPEDDATA (   obj)    (R_CAST(RTypedData)(obj))

Definition at line 1275 of file ruby.h.

◆ RTYPEDDATA_DATA

#define RTYPEDDATA_DATA (   v)    (RTYPEDDATA(v)->data)

Definition at line 1179 of file ruby.h.

◆ RTYPEDDATA_P

#define RTYPEDDATA_P (   v)    (RTYPEDDATA(v)->typed_flag == 1)

Definition at line 1177 of file ruby.h.

◆ RTYPEDDATA_TYPE

#define RTYPEDDATA_TYPE (   v)    (RTYPEDDATA(v)->type)

Definition at line 1178 of file ruby.h.

◆ RUBY_DEFAULT_FREE

#define RUBY_DEFAULT_FREE   ((RUBY_DATA_FUNC)-1)

Definition at line 1201 of file ruby.h.

◆ RUBY_ELTS_SHARED

#define RUBY_ELTS_SHARED   RUBY_ELTS_SHARED

Definition at line 969 of file ruby.h.

◆ RUBY_FIXNUM_MAX

#define RUBY_FIXNUM_MAX   (LONG_MAX>>1)

Definition at line 257 of file ruby.h.

◆ RUBY_FIXNUM_MIN

#define RUBY_FIXNUM_MIN   RSHIFT((long)LONG_MIN,1)

Definition at line 258 of file ruby.h.

◆ RUBY_MACRO_SELECT

#define RUBY_MACRO_SELECT (   base,
  n 
)    TOKEN_PASTE(base, n)

Definition at line 66 of file ruby.h.

◆ RUBY_NEVER_FREE

#define RUBY_NEVER_FREE   ((RUBY_DATA_FUNC)0)

Definition at line 1202 of file ruby.h.

◆ RUBY_PRI_VALUE_MARK

#define RUBY_PRI_VALUE_MARK   "\v"

Definition at line 152 of file ruby.h.

◆ RUBY_Qfalse

#define RUBY_Qfalse   ((VALUE)RUBY_Qfalse)

Definition at line 463 of file ruby.h.

◆ RUBY_Qnil

#define RUBY_Qnil   ((VALUE)RUBY_Qnil)

Definition at line 465 of file ruby.h.

◆ RUBY_Qtrue

#define RUBY_Qtrue   ((VALUE)RUBY_Qtrue)

Definition at line 464 of file ruby.h.

◆ RUBY_Qundef

#define RUBY_Qundef   ((VALUE)RUBY_Qundef) /* undefined value for placeholder */

Definition at line 466 of file ruby.h.

◆ RUBY_SAFE_LEVEL_MAX

#define RUBY_SAFE_LEVEL_MAX   1

Definition at line 630 of file ruby.h.

◆ RUBY_TYPED_DEFAULT_FREE

#define RUBY_TYPED_DEFAULT_FREE   RUBY_DEFAULT_FREE

Definition at line 1203 of file ruby.h.

◆ RUBY_TYPED_FREE_IMMEDIATELY

#define RUBY_TYPED_FREE_IMMEDIATELY   1 /* TYPE field */

Definition at line 1207 of file ruby.h.

◆ RUBY_TYPED_NEVER_FREE

#define RUBY_TYPED_NEVER_FREE   RUBY_NEVER_FREE

Definition at line 1204 of file ruby.h.

◆ RUBY_TYPED_PROMOTED1

#define RUBY_TYPED_PROMOTED1   RUBY_FL_PROMOTED1 /* THIS FLAG DEPENDS ON Ruby version */

Definition at line 1209 of file ruby.h.

◆ RUBY_TYPED_WB_PROTECTED

#define RUBY_TYPED_WB_PROTECTED   RUBY_FL_WB_PROTECTED /* THIS FLAG DEPENDS ON Ruby version */

Definition at line 1208 of file ruby.h.

◆ RUBY_UNTYPED_DATA_WARNING

#define RUBY_UNTYPED_DATA_WARNING   0

Definition at line 1190 of file ruby.h.

◆ RVALUE_EMBED_LEN_MAX

#define RVALUE_EMBED_LEN_MAX   RVALUE_EMBED_LEN_MAX

Definition at line 908 of file ruby.h.

◆ SafeStringValue

#define SafeStringValue (   v)    StringValue(v)

Definition at line 607 of file ruby.h.

◆ SIGNED_VALUE

#define SIGNED_VALUE   long

Definition at line 104 of file ruby.h.

◆ SIZE_MAX

#define SIZE_MAX   ULONG_MAX

Definition at line 307 of file ruby.h.

◆ SIZE_MIN

#define SIZE_MIN   ULONG_MIN

Definition at line 308 of file ruby.h.

◆ SIZEOF_VALUE

#define SIZEOF_VALUE   SIZEOF_LONG

Definition at line 105 of file ruby.h.

◆ SIZET2NUM

#define SIZET2NUM (   v)    ULONG2NUM(v)

Definition at line 295 of file ruby.h.

◆ SPECIAL_CONST_P

#define SPECIAL_CONST_P (   x)    RB_SPECIAL_CONST_P(x)

Definition at line 1313 of file ruby.h.

◆ SSIZE_MAX

#define SSIZE_MAX   LONG_MAX

Definition at line 323 of file ruby.h.

◆ SSIZE_MIN

#define SSIZE_MIN   LONG_MIN

Definition at line 324 of file ruby.h.

◆ SSIZET2NUM

#define SSIZET2NUM (   v)    LONG2NUM(v)

Definition at line 296 of file ruby.h.

◆ STATIC_SYM_P

#define STATIC_SYM_P (   x)    RB_STATIC_SYM_P(x)

Definition at line 411 of file ruby.h.

◆ StringValue

#define StringValue (   v)    rb_string_value(&(v))

Definition at line 602 of file ruby.h.

◆ StringValueCStr

#define StringValueCStr (   v)    rb_string_value_cstr(&(v))

Definition at line 604 of file ruby.h.

◆ StringValuePtr

#define StringValuePtr (   v)    rb_string_value_ptr(&(v))

Definition at line 603 of file ruby.h.

◆ SYM2ID

#define SYM2ID (   x)    RB_SYM2ID(x)

Definition at line 415 of file ruby.h.

◆ SYMBOL_FLAG

#define SYMBOL_FLAG   RUBY_SYMBOL_FLAG

Definition at line 477 of file ruby.h.

◆ SYMBOL_P

#define SYMBOL_P (   x)    RB_SYMBOL_P(x)

Definition at line 413 of file ruby.h.

◆ T_ARRAY

#define T_ARRAY   RUBY_T_ARRAY

Definition at line 530 of file ruby.h.

◆ T_BIGNUM

#define T_BIGNUM   RUBY_T_BIGNUM

Definition at line 533 of file ruby.h.

◆ T_CLASS

#define T_CLASS   RUBY_T_CLASS

Definition at line 524 of file ruby.h.

◆ T_COMPLEX

#define T_COMPLEX   RUBY_T_COMPLEX

Definition at line 542 of file ruby.h.

◆ T_DATA

#define T_DATA   RUBY_T_DATA

Definition at line 538 of file ruby.h.

◆ T_FALSE

#define T_FALSE   RUBY_T_FALSE

Definition at line 537 of file ruby.h.

◆ T_FILE

#define T_FILE   RUBY_T_FILE

Definition at line 534 of file ruby.h.

◆ T_FIXNUM

#define T_FIXNUM   RUBY_T_FIXNUM

Definition at line 535 of file ruby.h.

◆ T_FLOAT

#define T_FLOAT   RUBY_T_FLOAT

Definition at line 527 of file ruby.h.

◆ T_HASH

#define T_HASH   RUBY_T_HASH

Definition at line 531 of file ruby.h.

◆ T_ICLASS

#define T_ICLASS   RUBY_T_ICLASS

Definition at line 525 of file ruby.h.

◆ T_IMEMO

#define T_IMEMO   RUBY_T_IMEMO

Definition at line 543 of file ruby.h.

◆ T_MASK

#define T_MASK   RUBY_T_MASK

Definition at line 548 of file ruby.h.

◆ T_MATCH

#define T_MATCH   RUBY_T_MATCH

Definition at line 539 of file ruby.h.

◆ T_MODULE

#define T_MODULE   RUBY_T_MODULE

Definition at line 526 of file ruby.h.

◆ T_MOVED

#define T_MOVED   RUBY_T_MOVED

Definition at line 547 of file ruby.h.

◆ T_NIL

#define T_NIL   RUBY_T_NIL

Definition at line 522 of file ruby.h.

◆ T_NODE

#define T_NODE   RUBY_T_NODE

Definition at line 545 of file ruby.h.

◆ T_NONE

#define T_NONE   RUBY_T_NONE

Definition at line 521 of file ruby.h.

◆ T_OBJECT

#define T_OBJECT   RUBY_T_OBJECT

Definition at line 523 of file ruby.h.

◆ T_RATIONAL

#define T_RATIONAL   RUBY_T_RATIONAL

Definition at line 541 of file ruby.h.

◆ T_REGEXP

#define T_REGEXP   RUBY_T_REGEXP

Definition at line 529 of file ruby.h.

◆ T_STRING

#define T_STRING   RUBY_T_STRING

Definition at line 528 of file ruby.h.

◆ T_STRUCT

#define T_STRUCT   RUBY_T_STRUCT

Definition at line 532 of file ruby.h.

◆ T_SYMBOL

#define T_SYMBOL   RUBY_T_SYMBOL

Definition at line 540 of file ruby.h.

◆ T_TRUE

#define T_TRUE   RUBY_T_TRUE

Definition at line 536 of file ruby.h.

◆ T_UNDEF

#define T_UNDEF   RUBY_T_UNDEF

Definition at line 544 of file ruby.h.

◆ T_ZOMBIE

#define T_ZOMBIE   RUBY_T_ZOMBIE

Definition at line 546 of file ruby.h.

◆ TYPE

#define TYPE (   x)    rb_type((VALUE)(x))

Definition at line 554 of file ruby.h.

◆ TypedData_Get_Struct

#define TypedData_Get_Struct (   obj,
  type,
  data_type,
  sval 
)     ((sval) = (type*)rb_check_typeddata((obj), (data_type)))

Definition at line 1252 of file ruby.h.

◆ TypedData_Make_Struct

#define TypedData_Make_Struct (   klass,
  type,
  data_type,
  sval 
)
Value:
(\
rb_data_typed_object_make((klass),(data_type),(void **)&(sval),sizeof(type)) \
)

Definition at line 1244 of file ruby.h.

◆ TypedData_Make_Struct0

#define TypedData_Make_Struct0 (   result,
  klass,
  type,
  size,
  data_type,
  sval 
)
Value:
VALUE result = rb_data_typed_object_zalloc(klass, size, data_type); \
(void)((sval) = (type *)DATA_PTR(result));

Definition at line 1234 of file ruby.h.

◆ TypedData_Wrap_Struct

#define TypedData_Wrap_Struct (   klass,
  data_type,
  sval 
)     rb_data_typed_object_wrap((klass),(sval),(data_type))

Definition at line 1231 of file ruby.h.

◆ UIDT2NUM

#define UIDT2NUM (   v)    LONG2NUM(v)

Definition at line 360 of file ruby.h.

◆ UNREACHABLE

#define UNREACHABLE   ((void)0) /* unreachable */

Definition at line 63 of file ruby.h.

◆ UNREACHABLE_RETURN

#define UNREACHABLE_RETURN (   val)    return (val)

Definition at line 59 of file ruby.h.

◆ USE_FLONUM

#define USE_FLONUM   1

Definition at line 419 of file ruby.h.

◆ USE_RGENGC

#define USE_RGENGC   1

Definition at line 791 of file ruby.h.

◆ USE_RINCGC

#define USE_RINCGC   1

Definition at line 793 of file ruby.h.

◆ USE_SYMBOL_AS_METHOD_NAME

#define USE_SYMBOL_AS_METHOD_NAME   1

Definition at line 433 of file ruby.h.

◆ USE_TRANSIENT_HEAP

#define USE_TRANSIENT_HEAP   1

Definition at line 1024 of file ruby.h.

Typedef Documentation

◆ ID

Definition at line 103 of file ruby.h.

◆ rb_data_type_t

Definition at line 1125 of file ruby.h.

◆ ruby_check_sizeof_int

typedef char ruby_check_sizeof_int[SIZEOF_INT==sizeof(int) ? 1 :-1]

Definition at line 118 of file ruby.h.

◆ ruby_check_sizeof_long

typedef char ruby_check_sizeof_long[SIZEOF_LONG==sizeof(long) ? 1 :-1]

Definition at line 119 of file ruby.h.

◆ ruby_check_sizeof_voidp

typedef char ruby_check_sizeof_voidp[SIZEOF_VOIDP==sizeof(void *) ? 1 :-1]

Definition at line 123 of file ruby.h.

◆ RUBY_DATA_FUNC

void RUBY_DATA_FUNC

Definition at line 1184 of file ruby.h.

◆ VALUE

Definition at line 102 of file ruby.h.

Enumeration Type Documentation

◆ ruby_fl_type

Enumerator
RUBY_FL_WB_PROTECTED 
RUBY_FL_PROMOTED0 
RUBY_FL_PROMOTED1 
RUBY_FL_PROMOTED 
RUBY_FL_FINALIZE 
RUBY_FL_TAINT 
RUBY_FL_UNTRUSTED 
RUBY_FL_SEEN_OBJ_ID 
RUBY_FL_EXIVAR 
RUBY_FL_FREEZE 
RUBY_FL_USHIFT 
RUBY_FL_USER_N 
RUBY_FL_USER_N 
RUBY_FL_USER_N 
RUBY_FL_USER_N 
RUBY_FL_USER_N 
RUBY_FL_USER_N 
RUBY_FL_USER_N 
RUBY_FL_USER_N 
RUBY_FL_USER_N 
RUBY_FL_USER_N 
RUBY_FL_USER_N 
RUBY_FL_USER_N 
RUBY_FL_USER_N 
RUBY_FL_USER_N 
RUBY_FL_USER_N 
RUBY_FL_USER_N 
RUBY_FL_USER_N 
RUBY_FL_USER_N 
RUBY_FL_USER_N 
RUBY_FL_USER_N 
RUBY_ELTS_SHARED 
RUBY_FL_DUPPED 
RUBY_FL_SINGLETON 

Definition at line 841 of file ruby.h.

◆ ruby_rarray_flags

Enumerator
RARRAY_EMBED_LEN_MAX 
RARRAY_EMBED_FLAG 
RARRAY_EMBED_LEN_MASK 
RARRAY_EMBED_LEN_SHIFT 
RARRAY_TRANSIENT_FLAG 
RARRAY_TRANSIENT_FLAG 
RARRAY_ENUM_END 

Definition at line 1027 of file ruby.h.

◆ ruby_rmodule_flags

Enumerator
RMODULE_IS_OVERLAID 
RMODULE_IS_REFINEMENT 
RMODULE_INCLUDED_INTO_REFINEMENT 
RMODULE_ENUM_END 

Definition at line 954 of file ruby.h.

◆ ruby_robject_flags

Enumerator
ROBJECT_EMBED_LEN_MAX 
ROBJECT_EMBED 
ROBJECT_ENUM_END 

Definition at line 915 of file ruby.h.

◆ ruby_rstring_flags

Enumerator
RSTRING_NOEMBED 
RSTRING_EMBED_LEN_MASK 
RSTRING_EMBED_LEN_SHIFT 
RSTRING_EMBED_LEN_MAX 
RSTRING_FSTR 
RSTRING_ENUM_END 

Definition at line 977 of file ruby.h.

◆ ruby_rvalue_flags

Enumerator
RVALUE_EMBED_LEN_MAX 

Definition at line 909 of file ruby.h.

◆ ruby_special_consts

Enumerator
RUBY_Qfalse 
RUBY_Qtrue 
RUBY_Qnil 
RUBY_Qundef 
RUBY_IMMEDIATE_MASK 
RUBY_FIXNUM_FLAG 
RUBY_FLONUM_MASK 
RUBY_FLONUM_FLAG 
RUBY_SYMBOL_FLAG 
RUBY_SPECIAL_SHIFT 
RUBY_Qfalse 
RUBY_Qtrue 
RUBY_Qnil 
RUBY_Qundef 
RUBY_IMMEDIATE_MASK 
RUBY_FIXNUM_FLAG 
RUBY_FLONUM_MASK 
RUBY_FLONUM_FLAG 
RUBY_SYMBOL_FLAG 
RUBY_SPECIAL_SHIFT 

Definition at line 436 of file ruby.h.

◆ ruby_value_type

Enumerator
RUBY_T_NONE 
RUBY_T_OBJECT 
RUBY_T_CLASS 
RUBY_T_MODULE 
RUBY_T_FLOAT 
RUBY_T_STRING 
RUBY_T_REGEXP 
RUBY_T_ARRAY 
RUBY_T_HASH 
RUBY_T_STRUCT 
RUBY_T_BIGNUM 
RUBY_T_FILE 
RUBY_T_DATA 
RUBY_T_MATCH 
RUBY_T_COMPLEX 
RUBY_T_RATIONAL 
RUBY_T_NIL 
RUBY_T_TRUE 
RUBY_T_FALSE 
RUBY_T_SYMBOL 
RUBY_T_FIXNUM 
RUBY_T_UNDEF 
RUBY_T_IMEMO 
See also
imemo_type
RUBY_T_NODE 
RUBY_T_ICLASS 
RUBY_T_ZOMBIE 
RUBY_T_MOVED 
RUBY_T_MASK 
RUBY_T_NONE 
RUBY_T_OBJECT 
RUBY_T_CLASS 
RUBY_T_MODULE 
RUBY_T_FLOAT 
RUBY_T_STRING 
RUBY_T_REGEXP 
RUBY_T_ARRAY 
RUBY_T_HASH 
RUBY_T_STRUCT 
RUBY_T_BIGNUM 
RUBY_T_FILE 
RUBY_T_DATA 
RUBY_T_MATCH 
RUBY_T_COMPLEX 
RUBY_T_RATIONAL 
RUBY_T_NIL 
RUBY_T_TRUE 
RUBY_T_FALSE 
RUBY_T_SYMBOL 
RUBY_T_FIXNUM 
RUBY_T_UNDEF 
RUBY_T_IMEMO 
RUBY_T_NODE 
RUBY_T_ICLASS 
RUBY_T_ZOMBIE 
RUBY_T_MOVED 
RUBY_T_MASK 

Definition at line 486 of file ruby.h.

Function Documentation

◆ alloca()

◆ PUREFUNC()

PUREFUNC ( double   rb_float_valueVALUE)

◆ rb_big_sign()

int rb_big_sign ( VALUE  )

Definition at line 6772 of file bignum.c.

References BIGNUM_SIGN.

◆ rb_check_safe_obj()

void rb_check_safe_obj ( VALUE  )

Definition at line 136 of file safe.c.

◆ rb_data_object_wrap()

VALUE rb_data_object_wrap ( VALUE  ,
void ,
RUBY_DATA_FUNC  ,
RUBY_DATA_FUNC   
)

Definition at line 2378 of file gc.c.

References Check_Type, klass, and T_CLASS.

Referenced by RUBY_ALIAS_FUNCTION().

◆ rb_data_object_zalloc()

VALUE rb_data_object_zalloc ( VALUE  ,
size_t  ,
RUBY_DATA_FUNC  ,
RUBY_DATA_FUNC   
)

◆ rb_data_typed_object_wrap()

VALUE rb_data_typed_object_wrap ( VALUE  klass,
void datap,
const rb_data_type_t  
)

Definition at line 2399 of file gc.c.

References Check_Type, klass, and T_CLASS.

Referenced by __attribute__(), and RUBY_ALIAS_FUNCTION().

◆ rb_data_typed_object_zalloc()

VALUE rb_data_typed_object_zalloc ( VALUE  klass,
size_t  size,
const rb_data_type_t type 
)

◆ rb_fix2short()

short rb_fix2short ( VALUE  )

Definition at line 3050 of file numeric.c.

References FIX2LONG, FIXNUM_P, and rb_num2long().

◆ rb_fix2ushort()

unsigned short rb_fix2ushort ( VALUE  )

Definition at line 3069 of file numeric.c.

References FIX2ULONG, FIXNUM_P, and rb_num2ushort().

◆ rb_float_new()

VALUE rb_float_new ( double  )

Definition at line 5841 of file numeric.c.

◆ rb_float_new_in_heap()

VALUE rb_float_new_in_heap ( double  )

Definition at line 895 of file numeric.c.

References FL_WB_PROTECTED, NEWOBJ_OF, OBJ_FREEZE, rb_cFloat, RGENGC_WB_PROTECTED_FLOAT, and T_FLOAT.

◆ rb_gc_guarded_ptr_val()

volatile VALUE* rb_gc_guarded_ptr_val ( volatile VALUE ptr,
VALUE  val 
)

Definition at line 250 of file gc.c.

References ptr, and rb_gc_guarded_val.

◆ rb_get_path()

VALUE rb_get_path ( VALUE  )

Definition at line 230 of file file.c.

◆ rb_get_path_no_checksafe()

VALUE rb_get_path_no_checksafe ( VALUE  )

Definition at line 224 of file file.c.

◆ rb_hash_size_num()

size_t rb_hash_size_num ( VALUE  hash)

Definition at line 2945 of file hash.c.

◆ rb_id2sym()

VALUE rb_id2sym ( ID  )

Definition at line 776 of file symbol.c.

◆ rb_int2big()

VALUE rb_int2big ( intptr_t  )

◆ rb_int2inum()

VALUE rb_int2inum ( intptr_t  )

Definition at line 3208 of file bignum.c.

◆ rb_newobj()

VALUE rb_newobj ( void  )

Definition at line 2290 of file gc.c.

◆ rb_newobj_of()

VALUE rb_newobj_of ( VALUE  ,
VALUE   
)

Definition at line 2296 of file gc.c.

◆ rb_num2long()

long rb_num2long ( VALUE  )

◆ rb_num2short()

short rb_num2short ( VALUE  )

Definition at line 3041 of file numeric.c.

References rb_num2long().

◆ rb_num2ulong()

unsigned long rb_num2ulong ( VALUE  )

Definition at line 2918 of file numeric.c.

◆ rb_num2ushort()

unsigned short rb_num2ushort ( VALUE  )

Definition at line 3059 of file numeric.c.

Referenced by rb_fix2ushort().

◆ rb_safe_level()

int rb_safe_level ( void  )

Definition at line 31 of file safe.c.

◆ rb_secure()

void rb_secure ( int  )

Definition at line 99 of file safe.c.

◆ rb_secure_update()

void rb_secure_update ( VALUE  )

Definition at line 116 of file safe.c.

References rb_warn().

◆ rb_set_safe_level()

void rb_set_safe_level ( int  )

Definition at line 45 of file safe.c.

◆ rb_set_safe_level_force()

void rb_set_safe_level_force ( int  )

Definition at line 38 of file safe.c.

References GET_VM, and rb_warn().

◆ rb_str_export()

VALUE rb_str_export ( VALUE  )

Definition at line 1123 of file string.c.

◆ rb_str_export_locale()

VALUE rb_str_export_locale ( VALUE  )

Definition at line 1129 of file string.c.

◆ rb_str_to_str()

VALUE rb_str_to_str ( VALUE  )

Definition at line 1382 of file string.c.

◆ rb_string_value()

VALUE rb_string_value ( volatile VALUE )

Definition at line 2175 of file string.c.

◆ rb_string_value_cstr()

char* rb_string_value_cstr ( volatile VALUE )

Definition at line 2291 of file string.c.

◆ rb_string_value_ptr()

char* rb_string_value_ptr ( volatile VALUE )

Definition at line 2186 of file string.c.

◆ rb_sym2id()

ID rb_sym2id ( VALUE  )

Definition at line 748 of file symbol.c.

◆ rb_uint2big()

VALUE rb_uint2big ( uintptr_t  )

Definition at line 3158 of file bignum.c.

References BDIGIT, bdigit_roomof, BDIGITS, BIGDN, BIGLO, bignew, BIGNUM_SET_LEN, i, n, and SIZEOF_VALUE.

Referenced by rb_int2big(), and rb_uint2inum().

◆ rb_uint2inum()

VALUE rb_uint2inum ( uintptr_t  )

Definition at line 3201 of file bignum.c.

◆ RUBY_ALIGNAS()

rb_execution_context_struct::@13::RUBY_ALIGNAS ( SIZEOF_VALUE  )

Definition at line 781 of file ruby.h.

RARRAY_PTR_USE_START_TRANSIENT
#define RARRAY_PTR_USE_START_TRANSIENT(a)
Definition: ruby.h:1081
RUBY_Qfalse
#define RUBY_Qfalse
Definition: ruby.h:463
RUBY_Qundef
#define RUBY_Qundef
Definition: ruby.h:466
RB_BUILTIN_TYPE
#define RB_BUILTIN_TYPE(x)
Definition: ruby.h:550
RSTRING_EMBED_LEN
#define RSTRING_EMBED_LEN(str)
Definition: ruby.h:1002
i
uint32_t i
Definition: rb_mjit_min_header-2.7.2.h:5460
VALUE
unsigned long VALUE
Definition: ruby.h:102
long
#define long
Definition: rb_mjit_min_header-2.7.2.h:2889
RUBY_T_FLOAT
@ RUBY_T_FLOAT
Definition: ruby.h:492
RUBY_T_NIL
@ RUBY_T_NIL
Definition: ruby.h:505
RUBY_DATA_FUNC
void(* RUBY_DATA_FUNC)(void *)
Definition: ruby.h:1184
RUBY_T_UNDEF
@ RUBY_T_UNDEF
Definition: ruby.h:510
ptr
struct RIMemo * ptr
Definition: debug.c:65
RB_OBJ_INFECT_RAW
#define RB_OBJ_INFECT_RAW(x, s)
Definition: ruby.h:1336
RUBY_T_TRUE
@ RUBY_T_TRUE
Definition: ruby.h:506
RARRAY_PTR_USE_START
#define RARRAY_PTR_USE_START(a)
Definition: ruby.h:1091
RUBY_Qtrue
#define RUBY_Qtrue
Definition: ruby.h:464
void
void
Definition: rb_mjit_min_header-2.7.2.h:13241
RARRAY_EMBED_LEN_SHIFT
#define RARRAY_EMBED_LEN_SHIFT
Definition: ruby.h:1046
rb_obj_class
VALUE rb_obj_class(VALUE)
Equivalent to Object#class in Ruby.
Definition: object.c:217
rb_data_typed_object_zalloc
VALUE rb_data_typed_object_zalloc(VALUE klass, size_t size, const rb_data_type_t *type)
ROBJECT_EMBED
#define ROBJECT_EMBED
Definition: ruby.h:914
RCLASS_IV_INDEX_TBL
#define RCLASS_IV_INDEX_TBL(c)
Definition: internal.h:1074
DATA_PTR
#define DATA_PTR(dta)
Definition: ruby.h:1175
klass
VALUE klass
Definition: rb_mjit_min_header-2.7.2.h:13222
RUBY_T_FIXNUM
@ RUBY_T_FIXNUM
Definition: ruby.h:509
RSTRING_EMBED_LEN_SHIFT
#define RSTRING_EMBED_LEN_SHIFT
Definition: ruby.h:974
RB_SYMBOL_P
#define RB_SYMBOL_P(x)
Definition: ruby.h:408
ROBJECT_EMBED_LEN_MAX
#define ROBJECT_EMBED_LEN_MAX
Definition: ruby.h:913
RUBY_Qnil
#define RUBY_Qnil
Definition: ruby.h:465
size
int size
Definition: encoding.c:58
ROBJECT
#define ROBJECT(obj)
Definition: ruby.h:1268
rb_data_object_zalloc
VALUE rb_data_object_zalloc(VALUE, size_t, RUBY_DATA_FUNC, RUBY_DATA_FUNC)
RSTRING_NOEMBED
#define RSTRING_NOEMBED
Definition: ruby.h:972
rb_str_export
VALUE rb_str_export(VALUE)
Definition: string.c:1123
obj
const VALUE VALUE obj
Definition: rb_mjit_min_header-2.7.2.h:5738
RB_FL_ABLE
#define RB_FL_ABLE(x)
Definition: ruby.h:1315
str
char str[HTML_ESCAPE_MAX_LEN+1]
Definition: escape.c:18
RSTRING
#define RSTRING(obj)
Definition: ruby.h:1271
RB_OBJ_TAINTABLE
#define RB_OBJ_TAINTABLE(x)
Definition: ruby.h:1329
free
#define free(x)
Definition: dln.c:52
RUBY_T_FALSE
@ RUBY_T_FALSE
Definition: ruby.h:507
RBASIC
#define RBASIC(obj)
Definition: ruby.h:1267
RUBY_T_SYMBOL
@ RUBY_T_SYMBOL
Definition: ruby.h:508
v
int VALUE v
Definition: rb_mjit_min_header-2.7.2.h:12300
RARRAY_EMBED_LEN_MASK
#define RARRAY_EMBED_LEN_MASK
Definition: ruby.h:1044
RB_FIXNUM_P
#define RB_FIXNUM_P(f)
Definition: ruby.h:390
RSTRING_EMBED_LEN_MASK
#define RSTRING_EMBED_LEN_MASK
Definition: ruby.h:973
ruby::backward::cxxanyargs::type
VALUE type(ANYARGS)
ANYARGS-ed function type.
Definition: cxxanyargs.hpp:39
RB_SPECIAL_CONST_P
#define RB_SPECIAL_CONST_P(x)
Definition: ruby.h:1312
RB_FLOAT_TYPE_P
#define RB_FLOAT_TYPE_P(obj)
Definition: ruby.h:556