NAME
src/pmc/fixedpmcarray.pmc - fixed size array for PMCs only
DESCRIPTION
This class, FixedPMCArray, implements an array of fixed size which stores PMCs. It puts things into Integer, Float, or String PMCs as appropriate
Note
The flag PObj_private0_FLAG
is used in the NameSpace
PMC and should never be set for user arrays.
Functions
METHOD sort(PMC *cmp_func)
Sort this array,
optionally using the provided cmp_func
Methods
void init()
Initializes the array.
void init_int(INTVAL size)
Initializes the array.
void destroy()
Destroys the array.
PMC *clone()
Creates and returns a copy of the array.
INTVAL get_bool()
Returns whether the array has any elements (meaning been initialized,
for a fixed sized array).
INTVAL elements()
INTVAL get_integer()
Returns the number of elements in the array.
FLOATVAL get_number()
Returns the number of elements in the array.
STRING *get_string()
Returns the number of elements in the array as a Parrot string.
(???
-leo)
STRING *get_repr()
Returns a string representation of the array contents.
TT #1229: implement freeze/thaw and use that instead.
INTVAL get_integer_keyed_int(INTVAL key)
Returns the integer value of the element at index INTVAL get_integer_keyed(PMC *key)
Returns the integer value of the element at index FLOATVAL get_number_keyed_int(INTVAL key)
Returns the floating-point value of the element at index FLOATVAL get_number_keyed(PMC *key)
Returns the floating-point value of the element at index STRING *get_string_keyed_int(INTVAL key)
Returns the Parrot string value of the element at index STRING *get_string_keyed(PMC *key)
Returns the Parrot string value of the element at index PMC *get_pmc_keyed_int(INTVAL key)
Returns the PMC value of the element at index PMC *get_pmc_keyed(PMC *key)
Returns the PMC value of the element at index void set_integer_native(INTVAL size)
Sizes the array to void set_integer_keyed_int(INTVAL key, INTVAL value)
Sets the integer value of the element at index void set_integer_keyed(PMC *key, INTVAL value)
Sets the integer value of the element at index void set_number_keyed_int(INTVAL key, FLOATVAL value)
Sets the floating-point value of the element at index void set_number_keyed(PMC *key, FLOATVAL value)
Sets the floating-point value of the element at index void set_string_keyed_int(INTVAL key, STRING *value)
Sets the Parrot string value of the element at index void set_string_keyed(PMC *key, STRING *value)
Sets the string value of the element at index void set_pmc_keyed_int(INTVAL key, PMC *src)
Sets the PMC value of the element at index void set_pmc_keyed(PMC *key, PMC *value)
Sets the PMC at index INTVAL is_equal(PMC *value)
The PMC *get_iter()
Return a new iterator for SELF.
INTVAL exists_keyed_int(INTVAL key)
INTVAL exists_keyed_int(PMC *key)
Returns TRUE is the element at void splice(PMC *value, INTVAL offset, INTVAL count)
Replaces void visit(PMC *info)
This is used by freeze/thaw to visit the contents of the array.void freeze(PMC *info)
Used to archive the array.
void thaw(PMC *info)
Used to unarchive the array.
INTVAL defined_keyed_int(INTVAL key)
Returns TRUE is the element at void mark(void)
Mark the array.
key
.
*key
.
key
.
*key
.
key
.
*key
.
key
.
*key
.
size
elements.
Can't be used to resize an array.
key
to value
.
key
to value
.
key
to value
.
key
to value
.
key
to value
.
key
to value
.
key
to *src
.
key
to value
.
==
operation.
Compares two array to hold equal elements.
key
exists; otherwise returns false.
count
elements starting at offset
with the elements in value
.If count
is 0 then the elements in value
will be inserted after offset
.This throws an exception if any of the spliced in values are out of the range of this array.
*info
is the visit info,
(see include/parrot/pmc_freeze.h).
key
is defined; otherwise returns false.
SEE ALSO
docs/pdds/pdd17_basic_types.pod.