NAME
src/pmc/bytebuffer.pmc - A byte buffer
DESCRIPTION
ByteBuffer provides a resizable byte buffer with random access to individual bytes and conversions from and to parrot strings.
Vtable functions
- void init()Create an empty buffer
- void init_int()Create a buffer of initial_size capacity.
- void mark()Mark the source string if any.
- void destroy()Free the buffer when destroying.
- INTVAL elements()Get current size.
- void set_integer_native()Resize the buffer to the given value.
- void set_string_native()Reset the buffer with the content of the string.
- INTVAL get_integer_keyed_int()Get the value of the byte at position or 0 if out of bounds.
- void set_integer_keyed_int()Set the value of the byte at position,
resizing the buffer if the position is out of current size.
- void push_integer(INTVAL value)Extends the buffer by adding a byte of value
- PMC *get_iter()Return a new Iterator for this PMC.
value to the end.
Methods
- get_string(string encoding)Create a string with the buffer content and the encoding specified.
- get_string_as(string as)Create a string with the buffer content and the same encoding as the string argument.
Auxiliar functions
- static INTVAL grow_to(INTVAL position)Calculate new size enough for using position and with some margin to decrease the number of reallocations.
- static STRING * build_string(PARROT_INTERP, const unsigned char *content, INTVAL size, const STR_VTABLE *encoding)Build a string from the buffer content with the encoding specified.
