NAME
src/pmc/imageiofreeze.pmc - ImageIOFreeze PMC
DESCRIPTION
Freezes other PMCs.
FUNCTIONS
- static opcode_t * GET_VISIT_CURSOR(const PMC *pmc)Get the buffer cursor.
Buffer relocations are handled.
- static void SET_VISIT_CURSOR(PMC *pmc, const char *cursor)Set the buffer cursor.
Buffer relocations are handled.
- static void INC_VISIT_CURSOR(PMC *pmc, UINTVAL inc)Increment the buffer cursor.
Buffer relocations are handled.
- static void create_buffer(PARROT_INTERP, PMC *pmc, PMC *info)Allocate the image buffer.
- static void ensure_buffer_size(PARROT_INTERP, PMC *io, size_t len)Checks the size of the buffer to see if it can accommodate
len more bytes.
If not,
expands the buffer.VTABLES
- void init()Initializes the PMC.
- void destroy()Destroys the PMC.
- void mark()Marks the PMC as alive.
- STRING *get_string()Returns the content of the image as a string.
- VTABLE PMC *get_iter()Get the
- VTABLE INTVAL get_integer()Returns the flags describing the visit action.
- VTABLE void push_integer(INTVAL v)Pushes the integer
- VTABLE void push_float(FLOATVAL v)Pushes the float
- VTABLE void push_string(STRING *v)Pushes the string
- VTABLE void push_pmc(PMC *v)Pushes a reference to pmc
- void set_pointer(void *value)Sets the constant table of this ImageIO PMC.
todo list for this freeze/thaw for iterating over.
v onto the end of the image.
v onto the end of the image.
*v onto the end of the image.
*v onto the end of the image.
If *v hasn't been seen yet,
it is also pushed onto the todo list.
