| parrotcode: Capture PMC | |
| Contents | PMCs |

src/pmc/capture.pmc - Capture PMC

These are the vtable functions for the Capture PMC.

void init()void destroy()void set_number_keyed_int(INTVAL key, FLOATVAL value)void set_integer_keyed_int(INTVAL key, INTVAL value)void set_pmc_keyed_int(INTVAL key, PMC *value)void set_string_keyed_int(INTVAL key, STRING *value)FLOATVAL get_number_keyed_int(INTVAL key)INTVAL get_integer_keyed_int(INTVAL key)PMC *get_pmc_keyed_int(INTVAL key)STRING *get_string_keyed_int(INTVAL key)void push_float(FLOATVAL value)void push_integer(INTVAL value)void push_pmc(PMC *value)void push_string(STRING *value)void unshift_float(FLOATVAL value)void unshift_integer(INTVAL value)void unshift_pmc(PMC *value)void unshift_string(STRING *value)FLOATVAL pop_float()INTVAL pop_integer()PMC *pop_pmc()STRING *pop_string()FLOATVAL shift_float()INTVAL shift_integer()PMC *shift_pmc()STRING *shift_string()INTVAL elements()INTVAL defined_keyed_int(INTVAL key)key of the array component is defined.INTVAL exists_keyed_int(INTVAL key)key of the array component exists.void delete_keyed_int(INTVAL key)key in the array component.void set_number_keyed(PMC *key, FLOATVAL value)void set_integer_keyed(PMC *key, INTVAL value)void set_pmc_keyed(PMC *key, PMC *value)void set_string_keyed(PMC *key, STRING *value)FLOATVAL get_number_keyed(PMC *key)INTVAL get_integer_keyed(PMC *key)PMC *get_pmc_keyed(PMC *key)STRING *get_string_keyed(PMC *key)INTVAL defined_keyed(PMC *key)key of the hash component is defined.INTVAL exists_keyed(PMC *key)key of the hash component exists.void delete_keyed(PMC *key)key in the hash component.
*/
METHOD PMC *get_array() { PMC *capt = SELF; /* XXX: This workaround is for when we get here as part of a subclass of Capture */ if (PObj_is_object_TEST(SELF)) { STRING * classname = CONST_STRING(INTERP, "Capture"); PMC * classobj = Parrot_oo_get_class_str(INTERP, classname); capt = VTABLE_get_attr_keyed(interp, SELF, classobj, CONST_STRING(interp, "proxy")); } CAPTURE_array_CREATE(INTERP, capt); return CAPTURE_array(capt); } METHOD PMC *get_hash() { PMC *capt = SELF; /* XXX: This workaround is for when we get here as part of a subclass of Capture */ if (PObj_is_object_TEST(SELF)) { STRING * classname = CONST_STRING(INTERP, "Capture"); PMC * classobj = Parrot_oo_get_class_str(INTERP, classname); capt = VTABLE_get_attr_keyed(interp, SELF, classobj, CONST_STRING(interp, "proxy")); } CAPTURE_hash_CREATE(INTERP, capt); return CAPTURE_hash(capt); }}
/*

Initial version - Patrick Michaud 2006-11-03
|
|
|