Name
Trash Stacks -- maintain a stack of unused allocated memory chunks.
Description
A GTrashStack is an efficient way to keep a stack of unused allocated
memory chunks. Each memory chunk is required to be large enough to hold
a gpointer. This allows the stack to be maintained without any space
overhead, since the stack pointers can be stored inside the memory chunks.
There is no function to create a GTrashStack. A NULL GTrashStack*
is a perfectly valid empty stack.
Details
struct GTrashStack
struct GTrashStack
{
GTrashStack *next;
};
|
Each piece of memory that is pushed onto the stack
is cast to a GTrashStack*.
g_trash_stack_push ()
Pushes a piece of memory onto a GTrashStack.
g_trash_stack_pop ()
Pops a piece of memory off a GTrashStack.
g_trash_stack_peek ()
Returns the element at the top of a GTrashStack.
g_trash_stack_height ()
Returns the height of a GTrashStack.