Matt S Trout > Rakudo-Star-2012.08_001 > src/pmc/key.pmc


Annotate this POD



src/pmc/key.pmc - Key PMC


These are the vtable functions for the Key PMC class.


void init()

Initializes the key.

PMC *clone()

Creates and returns a clone of the key.

void mark()

Marks the key as live.

INTVAL get_integer()

Returns the integer value of the key.

STRING *get_string()

Returns the Parrot string value of the key.

PMC *get_pmc()

Returns the PMC value of the key.

void set_integer_native(INTVAL value)
void set_string_native(STRING *value)
void set_pmc(PMC *value)

Sets the value of the key to *value.

void push_pmc(PMC *value)

Appends *value to the key.

PMC *shift_pmc()

Returns the next key.

Actually doesn't remove the entry but might be useful to traverse a key chain.

Iterator Interface

PMC *get_pmc_keyed(PMC *key)

Returns the key itself.

void freeze(PMC *info)

Archives the Key.

void thaw(PMC *info)

Unarchives the Key.

void thawfinish(PMC *info)

Called after the Key has been thawed: convert last PMC_NULL key to NULL.

set_register(reg_no, type)

Set key to hold particular register.

INTVAL elements()
INTVAL get_integer_keyed_int(INTVAL n)
STRING *get_string_keyed_int(INTVAL n)
PMC *get_pmc_keyed_init(INTVAL n)

Aggregate interface.

syntax highlighting: