NAME ^

src/pmc/resizablepmcarray.pmc - resizable array for PMCs only

DESCRIPTION ^

This class, ResizablePMCArray, implements an resizable array, which stores PMCs. It puts things into Integer, Float, or String PMCs as appropriate.

Functions ^

void set_integer_native(INTVAL size)

Resizes the array to size elements.

FLOATVAL shift_float()

INTVAL shift_integer()

PMC *shift_pmc()

STRING *shift_string()

Removes and returns an item from the start of the array.

PMC *get_pmc_keyed_int(INTVAL key)

Returns the PMC value of the element at index key.

void set_pmc_keyed_int(INTVAL key, PMC *src)

Sets the PMC value of the element at index key to *src.

void set_pmc_keyed(PMC *key, PMC *src)

If key is a slice, do a splice as set that item.

INTVAL exists_keyed_int(INTVAL key)

INTVAL exists_keyed_int(PMC *key)

Returns TRUE is the element at key exists; otherwise returns false.

INTVAL defined_keyed_int(INTVAL key)

Returns TRUE is the element at key is defined; otherwise returns false.

void push_float(FLOATVAL value)

void push_integer(INTVAL value)

void push_pmc(PMC *value)

void push_string(STRING *value)

Extends the array by adding an element of value *value to the end of the array.

INTVAL pop_float()

INTVAL pop_integer()

PMC *pop_pmc()

STRING *pop_string()

void unshift_float (FLOATVAL value)

void unshift_integer (INTVAL value)

void unshift_pmc (PMC *value)

void unshift_string (STRING *value)

Extends the array by adding an element of value *value to the begin of the array.

PMC *clone()

Creates and returns a copy of the array.

INTVAL is_equal (PMC *value)

The == operation. Compares two array to hold equal elements.

METHOD void append(PMC* other)

Append the other array to this array.

SEE ALSO ^

docs/pdds/pdd17_basic_types.pod.

HISTORY ^

Initial version - Matt Fowles 2004-06-11 Changed allocator to double size - Matt Fowles 2004-06-15


parrot