NAME
src/pmc/key.pmc - Key PMC
DESCRIPTION
These are the vtable functions for the Key PMC class.
Methods
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 void set_string_native(STRING *value)
void set_pmc(PMC *value)
Sets the value of the key to void push_pmc(PMC *value)
Appends PMC *shift_pmc()
Returns the next key.Actually doesn't remove the entry but might be useful to traverse a key chain.
value
.
*value
.
*value
to the key.
Iterator Interface
PMC *get_pmc_keyed(PMC *key)
Returns the key itself.
PMC *nextkey_keyed(PMC *key, INTVAL what)
Returns the next key relative to the location specified in 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.
what
.
int_key == -1 means end of iteration.