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
classmethod height() 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

classmethod peek() Any | None#

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

Deprecated since version 2.48: TrashStack is deprecated without replacement

classmethod pop() Any | None#

Pops a piece of memory off a TrashStack.

Deprecated since version 2.48: TrashStack is deprecated without replacement

classmethod push(data_p: Any) None#

Pushes a piece of memory onto a TrashStack.

Deprecated since version 2.48: TrashStack is deprecated without replacement

Parameters:

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