NAME ^

classes/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 TODO currently this uses Perl types.

Functions ^

void *invoke(void *next)

Pythonic object constructor. SELF is a FixedPMCArray Class object. Return a new tuple object according to 2.1. Built-in Functions.

Methods ^

void init()

Initializes the array.

void morph(INTVAL type)

Const classes must have a morph().

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.

STRING *get_string()

Returns the number of elements in the array as a Parrot string. (??? -leo)

For Python returns its repr. TODO implement freeze/thaw and use that instead.

INTVAL get_integer_keyed_int(INTVAL key)

Returns the integer value of the element at index key.

INTVAL get_integer_keyed(PMC *key)

Returns the integer value of the element at index *key.

FLOATVAL get_number_keyed_int(INTVAL key)

Returns the floating-point value of the element at index key.

FLOATVAL get_number_keyed (PMC *key)

Returns the floating-point value of the element at index *key.

STRING *get_string_keyed_int(INTVAL key)

Returns the Parrot string value of the element at index key.

STRING *get_string_keyed(PMC *key)

Returns the Parrot string value of the element at index *key.

PMC *get_pmc_keyed_int(INTVAL key)

Returns the PMC value of the element at index key.

PMC *get_pmc_keyed(PMC *key)

Returns the PMC value of the element at index *key.

void set_integer_native(INTVAL size)

Resizes the array to size elements.

void set_integer_keyed_int(INTVAL key, INTVAL value)

Sets the integer value of the element at index key to value.

void set_integer_keyed(PMC *key, INTVAL value)

Sets the integer value of the element at index key to value.

void set_number_keyed_int(INTVAL key, FLOATVAL value)

Sets the floating-point value of the element at index key to value.

void set_number_keyed(PMC *key, FLOATVAL value)

Sets the floating-point value of the element at index key to value.

void set_string_keyed_int(INTVAL key, STRING *value)

Sets the Parrot string value of the element at index key to value.

void set_string_keyed(PMC *key, STRING *value)

Sets the string value of the element at index key to value.

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 *value)

Sets the string value of the element at index key to value.

INTVAL is_equal (PMC *value)

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

PMC *slice (PMC *key, INTVAL f)

Return a new iterator for the slice PMC key if f == 0.

Return a new pythonic array slice if f == 1.

PMC *get_iter ()

Return a new iterator for SELF.

SEE ALSO ^

docs/pdds/pdd03_calling_conventions.pod.

HISTORY ^

Initial version 2004.06.11 by Matt Fowles


parrot