Man page - zyanlist_(3)

Packages contains this manual

Manual

ZyanList_

NAME
SYNOPSIS
Public Attributes
Detailed Description
Member Data Documentation
ZyanAllocator* ZyanList_::allocator
void* ZyanList_::buffer
ZyanUSize ZyanList_::capacity
ZyanMemberProcedure ZyanList_::destructor
ZyanUSize ZyanList_::element_size
ZyanListNode* ZyanList_::first_unused
ZyanListNode* ZyanList_::head
ZyanUSize ZyanList_::size
ZyanListNode* ZyanList_::tail
Author

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.