
src/dynpmc/dynlexpad.pmc - DynLexPad PMC

DynLexPad provides a more dynamic lexpad that allows the addition of lexicals at runtime.
init_pmc(PMC *lexinfo)Initialize the LexPad PMC and remember the associate lexinfo.
void set_pointer(void *)Initialize the LexPad PMC and remember the associate context.
void* get_pointer()Return the raw Hash pointer, for use in iterators
PMC *get_iter()Get an iterator for items in the DynLexPad
INTVAL elements()Returns the number of elements in the hash.
INTVAL exists_keyed(PMC *name)INTVAL exists_keyed_str(STRING *name)Returns whether a lexical name exists in the hash.
PMC *get_pmc_keyed_str(STRING *name)PMC *get_pmc_keyed(PMC *name)Return the lexical with the given name, or NULL (not PMCNULL), if the lexical doesn't exist.
void set_pmc_keyed(PMC *name,
PMC *value)void set_pmc_keyed_str(STRING *name,
PMC *value)Set the lexical with the given name to value. If the lexical name doesn't exist, it is created.
void destroy()Destroy DynLexPad.
void mark()Marks the lexpad hash as live.

docs/pdds/pdd20_lexical_vars.pod, src/pmc/lexpad.pmc, src/pmc/lexinfo.pmc.