table of contents
ZyanList_(3) | Library Functions Manual | ZyanList_(3) |
NAME¶
ZyanList_
SYNOPSIS¶
#include <List.h>
Public Attributes¶
ZyanAllocator * allocator
ZyanUSize size
ZyanUSize element_size
ZyanMemberProcedure destructor
ZyanListNode * head
ZyanListNode * tail
void * buffer
ZyanUSize capacity
ZyanListNode * first_unused
Detailed Description¶
Defines the ZyanList struct.
All fields in this struct should be considered as 'private'. Any changes may lead to unexpected behavior.
Member Data Documentation¶
ZyanAllocator* ZyanList_::allocator¶
The memory allocator.
void* ZyanList_::buffer¶
The data buffer.
Only used for instances created by ZyanListInitCustomBuffer.
ZyanUSize ZyanList_::capacity¶
The data buffer capacity (number of bytes).
Only used for instances created by ZyanListInitCustomBuffer.
ZyanMemberProcedure ZyanList_::destructor¶
The element destructor callback.
ZyanUSize ZyanList_::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.
ZyanUSize ZyanList_::size¶
The current number of elements in the list.
ZyanListNode* ZyanList_::tail¶
The tail node.
Author¶
Generated automatically by Doxygen for Zycore from the source code.
Version 1.5.1.0 | Zycore |