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.
FLOATVAL get_number()
Returns the floating-point number 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_number_native(FLOATVAL value)
Sets the value of the key to 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 visit(PMC *info)
This is used by freeze/thaw to visit the contents of the Key.
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.