TrashStack

Deprecated since version 2.48: GTrashStack is deprecated without replacement

class TrashStack(*args, **kwargs)

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.

Each piece of memory that is pushed onto the stack is cast to a GTrashStack*.

There is no longer any good reason to use GTrashStack. If you have extra pieces of memory, free() them and allocate them again later.

Methods

class TrashStack
height(stack_p: TrashStack) int

Returns the height of a TrashStack.

Note that execution of this function is of O(N) complexity where N denotes the number of items on the stack.

Deprecated since version 2.48: TrashStack is deprecated without replacement

Parameters:

stack_p – a TrashStack

peek(stack_p: TrashStack) None

Returns the element at the top of a TrashStack which may be None.

Deprecated since version 2.48: TrashStack is deprecated without replacement

Parameters:

stack_p – a TrashStack

pop(stack_p: TrashStack) None

Pops a piece of memory off a TrashStack.

Deprecated since version 2.48: TrashStack is deprecated without replacement

Parameters:

stack_p – a TrashStack

push(stack_p: TrashStack, data_p: None) None

Pushes a piece of memory onto a TrashStack.

Deprecated since version 2.48: TrashStack is deprecated without replacement

Parameters:
  • stack_p – a TrashStack

  • data_p – the piece of memory to push on the stack

Fields

class TrashStack
next

Pointer to the previous element of the stack, gets stored in the first sizeof (gpointer) bytes of the element