src/pmc/key.pmc - Key PMC


These are the vtable functions for the Key PMC class.


void init()
Initializes the key.
void destroy()
Destroy this Key, but not in the way anyone reading its code would want.
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(visit_info *info)
This is used by freeze/thaw to visit the contents of the Key.
void freeze(visit_info *info)
Archives the Key.
void thaw(visit_info *info)
Unarchives the Key.
void thawfinish(visit_info *info)
Called after the Key has been thawed: convert last PMC_NULL key to NULL.