| CreateStack | Creates a stack structure. A stack is a LIFO (last in, first out)
vector (array) of items. It has O(1) insertion and O(1) removal.
Stacks have two operations: Push (adding an item) and Pop (removes
items in reverse-push order).
The contents of the stack are uniform; i.e. storing a string and then
retrieving it as an integer is NOT the same as StringToInt()!
The "blocksize" determines how many cells each slot has; it cannot
be changed after creation. |
| GetStackBlockSize | Returns the blocksize the stack was created with. |
| IsStackEmpty | Checks if a stack is empty. |
| PopStack | Pops a value off a stack, ignoring it completely. |
| PopStackArray | Pops an array of cells from a stack. |
| PopStackCell | Pops a cell value from a stack. |
| PopStackString | Pops a string value from a stack. |
| PushStackArray | Pushes a copy of an array of cells onto the end of a stack. The cells
are pushed as a block (i.e. the entire array takes up one stack slot),
rather than pushing each cell individually. |
| PushStackCell | Pushes a value onto the end of the stack, adding a new index.
This may safely be used even if the stack has a blocksize
greater than 1. |
| PushStackString | Pushes a copy of a string onto the end of a stack, truncating it if it is
too big. |