|
libamxc
1.10.3
C Generic Data Containers
|
Ambiorix linked list API header file. More...
Go to the source code of this file.
Data Structures | |
| struct | _amxc_llist_it |
| The linked list iterator structure. More... | |
| struct | _amxc_llist |
| The linked list structure. More... | |
Macros | |
| #define | AMXC_LLIST_RANGE UINT32_MAX |
| #define | amxc_llist_it_get_data(it, type, member) amxc_container_of(it, type, member) |
| Gets the data pointer from a linked list iterator. More... | |
| #define | amxc_llist_for_each(it, list) |
| Loops over the list from head to tail. More... | |
| #define | amxc_llist_iterate(it, list) |
| Loops over the list from head to tail. More... | |
| #define | amxc_llist_for_each_reverse(it, list) |
| Loops over the list from tail to head. More... | |
| #define | amxc_llist_iterate_reverse(it, list) |
| Loops over the list from tail to head. More... | |
Typedefs | |
| typedef struct _amxc_llist_it | amxc_llist_it_t |
| The linked list iterator structure. More... | |
| typedef struct _amxc_llist | amxc_llist_t |
| The linked list structure. More... | |
| typedef void(* | amxc_llist_it_delete_t) (amxc_llist_it_t *it) |
| Definition of the linked list item delete function. More... | |
| typedef int(* | amxc_llist_it_cmp_t) (amxc_llist_it_t *it1, amxc_llist_it_t *it2) |
| Type definition of a linked list iterator compare callback function. More... | |
Functions | |
| int | amxc_llist_new (amxc_llist_t **llist) |
| Allocates a linked list. More... | |
| void | amxc_llist_delete (amxc_llist_t **llist, amxc_llist_it_delete_t func) |
| Frees the previously allocated linked list. More... | |
| int | amxc_llist_init (amxc_llist_t *const llist) |
| Initializes a linked list. More... | |
| void | amxc_llist_clean (amxc_llist_t *const llist, amxc_llist_it_delete_t func) |
| Removes all items from the linked list. More... | |
| int | amxc_llist_move (amxc_llist_t *const dest, amxc_llist_t *const src) |
| Moves all items from one linked list to another linked list. More... | |
| bool | amxc_llist_is_empty (const amxc_llist_t *const llist) |
| Checks that the linked list is empty. More... | |
| size_t | amxc_llist_size (const amxc_llist_t *const llist) |
| Calculates the size of the linked list. More... | |
| int | amxc_llist_append (amxc_llist_t *const llist, amxc_llist_it_t *const it) |
| Adds an item to the end of the linked list. More... | |
| int | amxc_llist_prepend (amxc_llist_t *const llist, amxc_llist_it_t *const it) |
| Adds an item to the beginning of the linked list. More... | |
| amxc_llist_it_t * | amxc_llist_get_at (const amxc_llist_t *const llist, const unsigned int index) |
| Gets an item at a certain position of the linked list. More... | |
| int | amxc_llist_set_at (amxc_llist_t *llist, const unsigned int index, amxc_llist_it_t *const it) |
| Inserts an item at a certain position. More... | |
| int | amxc_llist_it_init (amxc_llist_it_t *const it) |
| Initializes a linked list iterator. More... | |
| void | amxc_llist_it_clean (amxc_llist_it_t *const it, amxc_llist_it_delete_t func) |
| Removes the iterator from the list and frees allocated memory. More... | |
| void | amxc_llist_it_take (amxc_llist_it_t *const it) |
| Removes the iterator from the list. More... | |
| int | amxc_llist_it_insert_before (amxc_llist_it_t *const reference, amxc_llist_it_t *const it) |
| Inserts an iterator before a reference interator in the list. More... | |
| int | amxc_llist_it_insert_after (amxc_llist_it_t *const reference, amxc_llist_it_t *const it) |
| Inserts an iterator after another reference interator in the list. More... | |
| unsigned int | amxc_llist_it_index_of (const amxc_llist_it_t *const it) |
| Gets the index of an iterator in the list. More... | |
| int | amxc_llist_it_swap (amxc_llist_it_t *it1, amxc_llist_it_t *it2) |
| Swaps two linked list iterators. More... | |
| int | amxc_llist_sort (amxc_llist_t *const llist, amxc_llist_it_cmp_t cmp) |
| Sorts a linked list. More... | |
| AMXC_INLINE amxc_llist_it_t * | amxc_llist_get_first (const amxc_llist_t *const llist) |
| Gets the first item of the linked list. More... | |
| AMXC_INLINE amxc_llist_it_t * | amxc_llist_get_last (const amxc_llist_t *const llist) |
| Gets the last item of the linked list. More... | |
| AMXC_INLINE amxc_llist_it_t * | amxc_llist_take_first (amxc_llist_t *const llist) |
| Removes the first item from the linked list. More... | |
| AMXC_INLINE amxc_llist_it_t * | amxc_llist_take_last (amxc_llist_t *const llist) |
| Removes the last item from the linked list. More... | |
| AMXC_INLINE amxc_llist_it_t * | amxc_llist_take_at (const amxc_llist_t *llist, const unsigned int index) |
| Removes an item at a certain position of the linked list. More... | |
| AMXC_INLINE amxc_llist_it_t * | amxc_llist_it_get_next (const amxc_llist_it_t *const reference) |
| Gets the next iterator in the list. More... | |
| AMXC_INLINE amxc_llist_it_t * | amxc_llist_it_get_previous (const amxc_llist_it_t *const reference) |
| Gets the previous iterator in the list. More... | |
| AMXC_INLINE bool | amxc_llist_it_is_in_list (const amxc_llist_it_t *const it) |
| Checks that an iterator is in a list. More... | |
Ambiorix linked list API header file.
Definition in file amxc_llist.h.
| #define AMXC_LLIST_RANGE UINT32_MAX |
Definition at line 69 of file amxc_llist.h.