A doubly linked list.
More...
Go to the source code of this file.
|
|
typedef struct _AnxList | AnxList |
| | A doubly linked list.
|
| |
|
| AnxList * | anx_list_new (void) |
| | Create a new list.
|
| |
| AnxList * | anx_list_clone (AnxList *list) |
| | Clone a list using the default clone function.
|
| |
| AnxList * | anx_list_clone_with (AnxList *list, AnxCloneFunc clone) |
| | Clone a list using a custom clone function.
|
| |
| AnxList * | anx_list_tail (AnxList *list) |
| | Return the tail element of a list.
|
| |
| AnxList * | anx_list_prepend (AnxList *list, void *data) |
| | Prepend a new node to a list containing given data.
|
| |
| AnxList * | anx_list_append (AnxList *list, void *data) |
| | Append a new node to a list containing given data.
|
| |
| AnxList * | anx_list_add_before (AnxList *list, void *data, AnxList *node) |
| | Add a new node containing given data before a given node.
|
| |
| AnxList * | anx_list_add_after (AnxList *list, void *data, AnxList *node) |
| | Add a new node containing given data after a given node.
|
| |
| AnxList * | anx_list_find (AnxList *list, void *data) |
| | Find the first node containing given data in a list.
|
| |
| AnxList * | anx_list_remove (AnxList *list, AnxList *node) |
| | Remove a node from a list.
|
| |
| int | anx_list_length (AnxList *list) |
| | Query the number of items in a list.
|
| |
| int | anx_list_is_empty (AnxList *list) |
| | Query if a list is empty, ie.
|
| |
| int | anx_list_is_singleton (AnxList *list) |
| | Query if the list is singleton, ie.
|
| |
| AnxList * | anx_list_free_with (AnxList *list, AnxFreeFunc free_func) |
| | Free a list, using a given function to free each data element.
|
| |
| AnxList * | anx_list_free (AnxList *list) |
| | Free a list, using anx_free() to free each data element.
|
| |
◆ anx_list_add_after()
Add a new node containing given data after a given node.
- Parameters
-
| list | the list |
| data | the data element of the newly created node |
| node | the node after which to add the newly created node |
- Returns
- the head of the list
◆ anx_list_add_before()
Add a new node containing given data before a given node.
- Parameters
-
| list | the list |
| data | the data element of the newly created node |
| node | the node before which to add the newly created node |
- Returns
- the head of the list (which may have changed)
◆ anx_list_append()
Append a new node to a list containing given data.
- Parameters
-
| list | the list |
| data | the data element of the newly created node |
- Returns
- the head of the list
◆ anx_list_clone()
Clone a list using the default clone function.
- Parameters
-
- Returns
- a newly cloned list
◆ anx_list_clone_with()
Clone a list using a custom clone function.
- Parameters
-
| list | the list to clone |
| clone | the function to use to clone a list item |
- Returns
- a newly cloned list
◆ anx_list_find()
Find the first node containing given data in a list.
- Parameters
-
| list | the list |
| data | the data element to find |
- Returns
- the first node containing given data, or NULL if it is not found
◆ anx_list_free()
Free a list, using anx_free() to free each data element.
- Parameters
-
- Returns
- NULL on success
◆ anx_list_free_with()
Free a list, using a given function to free each data element.
- Parameters
-
| list | the list |
| free_func | a function to free each data element |
- Returns
- NULL on success
◆ anx_list_is_empty()
| int anx_list_is_empty |
( |
AnxList * | list | ) |
|
Query if a list is empty, ie.
contains no items
- Parameters
-
- Returns
- 1 if the list is empty, 0 otherwise
◆ anx_list_is_singleton()
| int anx_list_is_singleton |
( |
AnxList * | list | ) |
|
Query if the list is singleton, ie.
contains exactly one item
- Parameters
-
- Returns
- 1 if the list is singleton, 0 otherwise
◆ anx_list_length()
| int anx_list_length |
( |
AnxList * | list | ) |
|
Query the number of items in a list.
- Parameters
-
- Returns
- the number of nodes in the list
◆ anx_list_new()
Create a new list.
- Returns
- a new list
◆ anx_list_prepend()
Prepend a new node to a list containing given data.
- Parameters
-
| list | the list |
| data | the data element of the newly created node |
- Returns
- the new list head
◆ anx_list_remove()
Remove a node from a list.
- Parameters
-
| list | the list |
| node | the node to remove |
- Returns
- the head of the list (which may have changed)
◆ anx_list_tail()
Return the tail element of a list.
- Parameters
-
- Returns
- the tail element