|
#define | MRB_ARY_EMBED_LEN_MAX ((mrb_int)(sizeof(void*)*3/sizeof(mrb_value))) |
|
#define | mrb_ary_ptr(v) ((struct RArray*)(mrb_ptr(v))) |
|
#define | mrb_ary_value(p) mrb_obj_value((void*)(p)) |
|
#define | RARRAY(v) ((struct RArray*)(mrb_ptr(v))) |
|
#define | MRB_ARY_EMBED_MASK 7 |
|
#define | ARY_EMBED_P(a) ((a)->flags & MRB_ARY_EMBED_MASK) |
|
#define | ARY_UNSET_EMBED_FLAG(a) ((a)->flags &= ~(MRB_ARY_EMBED_MASK)) |
|
#define | ARY_EMBED_LEN(a) ((mrb_int)(((a)->flags & MRB_ARY_EMBED_MASK) - 1)) |
|
#define | ARY_SET_EMBED_LEN(a, len) ((a)->flags = ((a)->flags&~MRB_ARY_EMBED_MASK) | ((uint32_t)(len) + 1)) |
|
#define | ARY_EMBED_PTR(a) ((mrb_value*)(&(a)->as.ary)) |
|
#define | ARY_LEN(a) (ARY_EMBED_P(a)?ARY_EMBED_LEN(a):(a)->as.heap.len) |
|
#define | ARY_PTR(a) (ARY_EMBED_P(a)?ARY_EMBED_PTR(a):(a)->as.heap.ptr) |
|
#define | RARRAY_LEN(a) ARY_LEN(RARRAY(a)) |
|
#define | RARRAY_PTR(a) ARY_PTR(RARRAY(a)) |
|
#define | ARY_SET_LEN(a, n) |
|
#define | ARY_CAPA(a) (ARY_EMBED_P(a)?MRB_ARY_EMBED_LEN_MAX:(a)->as.heap.aux.capa) |
|
#define | MRB_ARY_SHARED 256 |
|
#define | ARY_SHARED_P(a) ((a)->flags & MRB_ARY_SHARED) |
|
#define | ARY_SET_SHARED_FLAG(a) ((a)->flags |= MRB_ARY_SHARED) |
|
#define | ARY_UNSET_SHARED_FLAG(a) ((a)->flags &= ~MRB_ARY_SHARED) |
|
|
void | mrb_ary_decref (mrb_state *, mrb_shared_array *) |
|
void | mrb_ary_modify (mrb_state *, struct RArray *) |
|
mrb_value | mrb_ary_new_capa (mrb_state *, mrb_int) |
|
mrb_value | mrb_ary_new (mrb_state *mrb) |
|
mrb_value | mrb_ary_new_from_values (mrb_state *mrb, mrb_int size, const mrb_value *vals) |
|
mrb_value | mrb_assoc_new (mrb_state *mrb, mrb_value car, mrb_value cdr) |
|
void | mrb_ary_concat (mrb_state *mrb, mrb_value self, mrb_value other) |
|
mrb_value | mrb_ary_splat (mrb_state *mrb, mrb_value value) |
|
void | mrb_ary_push (mrb_state *mrb, mrb_value array, mrb_value value) |
|
mrb_value | mrb_ary_pop (mrb_state *mrb, mrb_value ary) |
|
mrb_value | mrb_ary_ref (mrb_state *mrb, mrb_value ary, mrb_int n) |
|
void | mrb_ary_set (mrb_state *mrb, mrb_value ary, mrb_int n, mrb_value val) |
|
void | mrb_ary_replace (mrb_state *mrb, mrb_value self, mrb_value other) |
|
mrb_value | mrb_ensure_array_type (mrb_state *mrb, mrb_value self) |
|
mrb_value | mrb_check_array_type (mrb_state *mrb, mrb_value self) |
|
mrb_value | mrb_ary_unshift (mrb_state *mrb, mrb_value self, mrb_value item) |
|
mrb_value | mrb_ary_entry (mrb_value ary, mrb_int offset) |
|
mrb_value | mrb_ary_splice (mrb_state *mrb, mrb_value self, mrb_int head, mrb_int len, mrb_value rpl) |
|
mrb_value | mrb_ary_shift (mrb_state *mrb, mrb_value self) |
|
mrb_value | mrb_ary_clear (mrb_state *mrb, mrb_value self) |
|
mrb_value | mrb_ary_join (mrb_state *mrb, mrb_value ary, mrb_value sep) |
|
mrb_value | mrb_ary_resize (mrb_state *mrb, mrb_value ary, mrb_int new_len) |
|
See Copyright Notice in mruby.h