35#define mrb_hash_ptr(v) ((struct RHash*)(mrb_ptr(v)))
36#define mrb_hash_value(p) mrb_obj_value((void*)(p))
211#define RHASH(hash) ((struct RHash*)(mrb_ptr(hash)))
213#define MRB_HASH_IB_BIT_BIT 5
214#define MRB_HASH_AR_EA_CAPA_BIT 5
215#define MRB_HASH_IB_BIT_SHIFT 0
216#define MRB_HASH_AR_EA_CAPA_SHIFT 0
217#define MRB_HASH_AR_EA_N_USED_SHIFT MRB_HASH_AR_EA_CAPA_BIT
218#define MRB_HASH_SIZE_FLAGS_SHIFT (MRB_HASH_AR_EA_CAPA_BIT * 2)
219#define MRB_HASH_IB_BIT_MASK ((1 << MRB_HASH_IB_BIT_BIT) - 1)
220#define MRB_HASH_AR_EA_CAPA_MASK ((1 << MRB_HASH_AR_EA_CAPA_BIT) - 1)
221#define MRB_HASH_AR_EA_N_USED_MASK (MRB_HASH_AR_EA_CAPA_MASK << MRB_HASH_AR_EA_N_USED_SHIFT)
222#define MRB_HASH_DEFAULT (1 << (MRB_HASH_SIZE_FLAGS_SHIFT + 0))
223#define MRB_HASH_PROC_DEFAULT (1 << (MRB_HASH_SIZE_FLAGS_SHIFT + 1))
224#define MRB_HASH_HT (1 << (MRB_HASH_SIZE_FLAGS_SHIFT + 2))
225#define MRB_RHASH_DEFAULT_P(hash) (RHASH(hash)->flags & MRB_HASH_DEFAULT)
226#define MRB_RHASH_PROCDEFAULT_P(hash) (RHASH(hash)->flags & MRB_HASH_PROC_DEFAULT)
230MRB_API void mrb_hash_foreach(
mrb_state *mrb,
struct RHash *hash, mrb_hash_foreach_func *func,
void *p);
mruby common platform definition"
#define MRB_END_DECL
End declarations in C mode.
Definition common.h:28
#define MRB_BEGIN_DECL
Start declarations in C mode.
Definition common.h:26
#define MRB_API
Declare a public mruby API function.
Definition common.h:79
Hash class.
Definition hash.h:18
Definition boxing_nan.h:40