ZyanAllocator*ZyanList_::allocator
The memory allocator.
void*ZyanList_::buffer
The data buffer.
Only used for instances created by ZyanListInitCustomBuffer.
ZyanUSizeZyanList_::capacity
The data buffer capacity (number of bytes).
Only used for instances created by ZyanListInitCustomBuffer.
ZyanMemberProcedureZyanList_::destructor
The element destructor callback.
ZyanUSizeZyanList_::element_size
The size of a single element in bytes.
ZyanListNode*ZyanList_::first_unused
The first unused node.
When removing a node, the first-unused value is updated to point at the removed node and the next node of
the removed node will be updated to point at the old first-unused node.
When appending the memory of the first unused-node is recycled to store the new node. The value of the
first-unused node is then updated to point at the reused nodes next node.
If the first-unused value is ZYAN_NULL, any new node will be 'allocated' behind the tail node (if there
is enough space left in the fixed size buffer).
Only used for instances created by ZyanListInitCustomBuffer.
ZyanListNode*ZyanList_::head
The head node.
ZyanUSizeZyanList_::size
The current number of elements in the list.
ZyanListNode*ZyanList_::tail
The tail node.