|
| static bool | push_front_internal (flist_node_t **list, flist_node_t *node, bool doubly_linked) |
| |
| static bool | pop_front_internal (flist_node_t **list, f_list_node_del del_func, bool doubly_linked) |
| |
| static bool | push_back_internal (flist_node_t **list, flist_node_t *node, bool doubly_linked) |
| |
| static bool | insert_after_internal (flist_node_t *ref, flist_node_t *node, bool doubly_linked) |
| |
| static bool | remove_internal (flist_node_t **list, flist_node_t *node, f_list_node_del del_func, bool doubly_linked) |
| |
| static size_t | remove_if_internal (flist_node_t **list, f_list_node_pred pred_func, f_list_node_del del_func, bool doubly_linked) |
| |
| static bool | sort_internal (flist_node_t **list, f_list_node_cmp cmp_func, bool doubly_linked) |
| |
| static size_t | unique_internal (flist_node_t **list, f_list_node_bin_pred pred_func, f_list_node_del del_func, bool doubly_linked) |
| |
| static bool | reverse_internal (flist_node_t **list, bool doubly_linked) |
| |
| bool | flist_push_front (flist_node_t **list, flist_node_t *node) |
| | Add a node at the beginning of the forward list.
|
| |
| bool | flist_pop_front (flist_node_t **list, f_list_node_del del_func) |
| | Remove and delete the first node from the forward list.
|
| |
| bool | flist_push_back (flist_node_t **list, flist_node_t *node) |
| | Add a node at the end of the forward list.
|
| |
| bool | flist_pop_back (flist_node_t **list, f_list_node_del del_func) |
| | Remove and delete the last node from the forward list.
|
| |
| bool | flist_insert_after (flist_node_t **list, flist_node_t *ref, flist_node_t *node) |
| | Insert a node after a reference node in the forward list.
|
| |
| bool | flist_remove (flist_node_t **list, flist_node_t *node, f_list_node_del del_func) |
| | Remove and delete a specific node from the forward list.
|
| |
| size_t | flist_remove_if (flist_node_t **list, f_list_node_pred pred_func, f_list_node_del del_func) |
| | Remove all nodes matching a predicate from the forward list.
|
| |
| bool | flist_clear (flist_node_t **list, f_list_node_del del_func) |
| | Remove and delete all nodes from the forward list.
|
| |
| size_t | flist_size (flist_node_t *const *list) |
| | Get the number of nodes in the forward list.
|
| |
| bool | flist_empty (flist_node_t *const *list) |
| | Check if the forward list is empty.
|
| |
| bool | flist_sort (flist_node_t **list, f_list_node_cmp cmp_func) |
| | Sort the forward list using a comparison function.
|
| |
| size_t | flist_unique (flist_node_t **list, f_list_node_bin_pred pred_func, f_list_node_del del_func) |
| | Remove consecutive duplicate nodes from the forward list.
|
| |
| bool | flist_reverse (flist_node_t **list) |
| | Reverse the order of nodes in the forward list.
|
| |
| bool | list_push_front (list_node_t **list, list_node_t *node) |
| | Add a node at the beginning of the doubly-linked list.
|
| |
| bool | list_pop_front (list_node_t **list, f_list_node_del del_func) |
| | Remove and delete the first node from the doubly-linked list.
|
| |
| bool | list_push_back (list_node_t **list, list_node_t *node) |
| | Add a node at the end of the doubly-linked list.
|
| |
| bool | list_pop_back (list_node_t **list, f_list_node_del del_func) |
| | Remove and delete the last node from the doubly-linked list.
|
| |
| bool | list_insert_before (list_node_t **list, list_node_t *ref, list_node_t *node) |
| | Insert a node before a reference node in the doubly-linked list.
|
| |
| bool | list_insert_after (list_node_t **list, list_node_t *ref, list_node_t *node) |
| | Insert a node after a reference node in the doubly-linked list.
|
| |
| bool | list_remove (list_node_t **list, list_node_t *node, f_list_node_del del_func) |
| | Remove and delete a specific node from the doubly-linked list.
|
| |
| size_t | list_remove_if (list_node_t **list, f_list_node_pred pred_func, f_list_node_del del_func) |
| | Remove all nodes matching a predicate from the doubly-linked list.
|
| |
| bool | list_clear (list_node_t **list, f_list_node_del del_func) |
| | Remove and delete all nodes from the doubly-linked list.
|
| |
| size_t | list_size (list_node_t *const *list) |
| | Get the number of nodes in the doubly-linked list.
|
| |
| bool | list_empty (list_node_t *const *list) |
| | Check if the doubly-linked list is empty.
|
| |
| bool | list_sort (list_node_t **list, f_list_node_cmp cmp_func) |
| | Sort the doubly-linked list using a comparison function.
|
| |
| size_t | list_unique (list_node_t **list, f_list_node_bin_pred pred_func, f_list_node_del del_func) |
| | Remove consecutive duplicate nodes from the doubly-linked list.
|
| |
| bool | list_reverse (list_node_t **list) |
| | Reverse the order of nodes in the doubly-linked list.
|
| |
Generic linked list implementation.
Provides both singly-linked (flist) and doubly-linked (list) implementations.
Definition in file lists.c.