parrotcode: Array PMC | |
Contents | PMCs |
src/pmc/array.pmc - Array PMC
These are the vtable functions for the Array base class.
static PMC *undef(PARROT_INTERP)
Undef
PMC.static PMC *retval(PARROT_INTERP, void *ret)
*ret
,
returning the appropriate PMC,
or raising an exception if necessary.static PMC *Parrot_Array_set_pmc_ptr(PARROT_INTERP, List *list, INTVAL key)
key
of *list
.
If this element was previously empty,
then this function also creates and assigns an "undef" PMC to that element.void class_init()
void init()
list_new()
function.void init_pmc(PMC *init)
list_new_init()
to initialize the underlying list.*init
contains the initialization information specifying initial size,
number of dimensions,
etc.void assign_pmc(PMC *other)
void set_pmc(PMC *other)
assign_pmc
since the behavior is the same.void mark()
PMC *clone()
INTVAL get_integer()
INTVAL get_bool()
INTVAL elements()
FLOATVAL get_number()
STRING *get_string()
INTVAL get_integer_keyed_int(INTVAL key)
key
.INTVAL type_keyed_int(INTVAL key)
INTVAL get_integer_keyed(PMC *key)
key
.FLOATVAL get_number_keyed_int(INTVAL key)
key
.FLOATVAL get_number_keyed(PMC *key)
key
.STRING *get_string_keyed_int(INTVAL key)
key
.STRING *get_string_keyed(PMC *key)
key
.PMC *get_pmc_keyed_int(INTVAL key)
key
.PMC *get_pmc_keyed(PMC *key)
key
.void set_integer_native(INTVAL size)
size
.void set_integer_same(PMC *value)
*value
.void set_integer_keyed_int(INTVAL key, INTVAL value)
key
to value
.void set_integer_keyed(PMC *key, INTVAL value)
key
to value
.void set_number_keyed_int(INTVAL key, FLOATVAL value)
key
to value
.void set_number_keyed(PMC *key, FLOATVAL value)
key
to value
.void set_string_keyed_int(INTVAL key, STRING *value)
key
to value
.void set_string_keyed(PMC *key, STRING *value)
key
to value
.void set_pmc_keyed_int(INTVAL idx, PMC *src)
idx
to *src
.void set_pmc_keyed(PMC *key, PMC *value)
key
to value
.void push_integer(INTVAL value)
value
to the end of the array.void push_float(FLOATVAL value)
value
to the end of the array.void push_string(STRING *value)
*value
to the end of the array.void push_pmc(PMC *value)
*value
to the end of the array.void unshift_integer(INTVAL value)
value
to the start of the array.void unshift_float(FLOATVAL value)
value
to the start of the array.void unshift_string(STRING *value)
*value
to the start of the array.void unshift_pmc(PMC *value)
*value
to the start of the array.INTVAL pop_integer()
FLOATVAL pop_float()
STRING *pop_string()
PMC *pop_pmc()
INTVAL shift_integer()
FLOATVAL shift_float()
STRING *shift_string()
PMC *shift_pmc()
void splice(PMC *value, INTVAL offset, INTVAL count)
count
elements starting at offset
with the elements in value
.count
is 0 then the elements in value
will be inserted after offset
.INTVAL defined_keyed_int(INTVAL key)
key
is defined; otherwise returns false.INTVAL defined_keyed(PMC *key)
key
is defined; otherwise returns false.INTVAL exists_keyed_int(INTVAL key)
key
exists; otherwise returns false.INTVAL exists_keyed(PMC *key)
key
exists; otherwise returns false.void delete_keyed_int(INTVAL key)
key
.void delete_keyed(PMC *key)
*key
.INTVAL is_equal(PMC *value)
==
operation.
Compares two array to hold equal elements.PMC *slice(PMC *key, INTVAL f)
key
if f == 0.PMC *get_iter()
void visit(visit_info *info)
*info
is the visit info,
(see include/parrot/pmc_freeze.h).void freeze(visit_info *info)
void thaw(visit_info *info)
PMC *share_ro()
src/list.c, include/parrot/list.h
Create global immutable undef object.
|