|
void | _Chain_Initialize (Chain_Control *the_chain, void *starting_address, size_t number_nodes, size_t node_size) |
| Initializes a chain header. More...
|
|
size_t | _Chain_Node_count_unprotected (const Chain_Control *chain) |
| Returns the node count of the chain. More...
|
|
static __inline__ void | _Chain_Set_off_chain (Chain_Node *node) |
| Sets off chain. More...
|
|
static __inline__ void | _Chain_Initialize_node (Chain_Node *the_node) |
| Initializes a chain node. More...
|
|
static __inline__ bool | _Chain_Is_node_off_chain (const Chain_Node *node) |
| Checks if the node is off chain. More...
|
|
static __inline__ bool | _Chain_Are_nodes_equal (const Chain_Node *left, const Chain_Node *right) |
| Checks if two nodes are equal. More...
|
|
static __inline__ bool | _Chain_Is_null_node (const Chain_Node *the_node) |
| Checks if the chain node pointer is NULL. More...
|
|
static __inline__ Chain_Node * | _Chain_Head (Chain_Control *the_chain) |
| Returns pointer to chain head. More...
|
|
static __inline__ const Chain_Node * | _Chain_Immutable_head (const Chain_Control *the_chain) |
| Returns pointer to immutable chain head. More...
|
|
static __inline__ Chain_Node * | _Chain_Tail (Chain_Control *the_chain) |
| Returns pointer to chain tail. More...
|
|
static __inline__ const Chain_Node * | _Chain_Immutable_tail (const Chain_Control *the_chain) |
| Returns pointer to immutable chain tail. More...
|
|
static __inline__ Chain_Node * | _Chain_First (const Chain_Control *the_chain) |
| Returns pointer to chain's first node. More...
|
|
static __inline__ const Chain_Node * | _Chain_Immutable_first (const Chain_Control *the_chain) |
| Returns pointer to immutable chain's first node. More...
|
|
static __inline__ Chain_Node * | _Chain_Last (const Chain_Control *the_chain) |
| Returns pointer to chain's last node. More...
|
|
static __inline__ const Chain_Node * | _Chain_Immutable_last (const Chain_Control *the_chain) |
| Returns pointer to immutable chain's last node. More...
|
|
static __inline__ Chain_Node * | _Chain_Next (const Chain_Node *the_node) |
| Returns pointer to the next node from this node. More...
|
|
static __inline__ const Chain_Node * | _Chain_Immutable_next (const Chain_Node *the_node) |
| Returns pointer to the immutable next node from this node. More...
|
|
static __inline__ Chain_Node * | _Chain_Previous (const Chain_Node *the_node) |
| Returns pointer to the previous node from this node. More...
|
|
static __inline__ const Chain_Node * | _Chain_Immutable_previous (const Chain_Node *the_node) |
| Returns pointer to the immutable previous node from this node. More...
|
|
static __inline__ bool | _Chain_Is_empty (const Chain_Control *the_chain) |
| Checks if the chain is empty. More...
|
|
static __inline__ bool | _Chain_Is_first (const Chain_Node *the_node) |
| Checks if this is the first node on the chain. More...
|
|
static __inline__ bool | _Chain_Is_last (const Chain_Node *the_node) |
| Checks if this is the last node on the chain. More...
|
|
static __inline__ bool | _Chain_Has_only_one_node (const Chain_Control *the_chain) |
| Checks if this chain has only one node. More...
|
|
static __inline__ bool | _Chain_Is_head (const Chain_Control *the_chain, const Chain_Node *the_node) |
| Checks if this node is the chain head. More...
|
|
static __inline__ bool | _Chain_Is_tail (const Chain_Control *the_chain, const Chain_Node *the_node) |
| Checks if this node is the chain tail. More...
|
|
static __inline__ void | _Chain_Initialize_empty (Chain_Control *the_chain) |
| Initializes this chain as empty. More...
|
|
static __inline__ void | _Chain_Initialize_one (Chain_Control *the_chain, Chain_Node *the_node) |
| Initializes this chain to contain exactly the specified node. More...
|
|
static __inline__ void | _Chain_Extract_unprotected (Chain_Node *the_node) |
| Extracts this node (unprotected). More...
|
|
static __inline__ Chain_Node * | _Chain_Get_first_unprotected (Chain_Control *the_chain) |
| Gets the first node (unprotected). More...
|
|
static __inline__ Chain_Node * | _Chain_Get_unprotected (Chain_Control *the_chain) |
| Gets the first node (unprotected). More...
|
|
static __inline__ void | _Chain_Insert_unprotected (Chain_Node *after_node, Chain_Node *the_node) |
| Inserts a node (unprotected). More...
|
|
static __inline__ void | _Chain_Append_unprotected (Chain_Control *the_chain, Chain_Node *the_node) |
| Appends a node (unprotected). More...
|
|
static __inline__ void | _Chain_Append_if_is_off_chain_unprotected (Chain_Control *the_chain, Chain_Node *the_node) |
| Appends a node on the end of a chain if the node is in the off chain state (unprotected). More...
|
|
static __inline__ void | _Chain_Prepend_unprotected (Chain_Control *the_chain, Chain_Node *the_node) |
| Prepends a node (unprotected). More...
|
|
static __inline__ bool | _Chain_Append_with_empty_check_unprotected (Chain_Control *the_chain, Chain_Node *the_node) |
| Appends a node and checks if the chain was empty before (unprotected). More...
|
|
static __inline__ bool | _Chain_Prepend_with_empty_check_unprotected (Chain_Control *the_chain, Chain_Node *the_node) |
| Prepends a node and checks if the chain was empty before (unprotected). More...
|
|
static __inline__ bool | _Chain_Get_with_empty_check_unprotected (Chain_Control *the_chain, Chain_Node **the_node) |
| Gets the first node and checks if the chain is empty afterwards (unprotected). More...
|
|
static __inline__ void | _Chain_Insert_ordered_unprotected (Chain_Control *the_chain, Chain_Node *to_insert, const void *left, Chain_Node_order order) |
| Inserts a node into the chain according to the order relation. More...
|
|
static __inline__ void | _Chain_Iterator_registry_initialize (Chain_Iterator_registry *the_registry) |
| Initializes a chain iterator registry. More...
|
|
static __inline__ void | _Chain_Iterator_registry_update (Chain_Iterator_registry *the_registry, Chain_Node *the_node_to_extract) |
| Updates all iterators present in the chain iterator registry in case of a node extraction. More...
|
|
static __inline__ void | _Chain_Iterator_initialize (Chain_Control *the_chain, Chain_Iterator_registry *the_registry, Chain_Iterator *the_iterator, Chain_Iterator_direction direction) |
| Initializes the chain iterator. More...
|
|
static __inline__ Chain_Node * | _Chain_Iterator_next (const Chain_Iterator *the_iterator) |
| Returns the next node in the iterator direction. More...
|
|
static __inline__ void | _Chain_Iterator_set_position (Chain_Iterator *the_iterator, Chain_Node *the_node) |
| Sets the iterator position. More...
|
|
static __inline__ void | _Chain_Iterator_destroy (Chain_Iterator *the_iterator) |
| Destroys the iterator. More...
|
|
Chain Handler API.
Definition in file chainimpl.h.