75 while(
it != NULL &&
it->
next != NULL) {
174 if(
it->llist != NULL) {
201 if(
it->llist != NULL) {
223 const unsigned int index) {
238 const unsigned int index,
247 reference = reference->
next) {
254 if(!reference && (index == count)) {
static int amxc_llist_sort_internal(amxc_llist_t *const llist, amxc_llist_it_cmp_t cmp)
Ambiorix linked list API header file.
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.
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.
void amxc_llist_it_take(amxc_llist_it_t *const it)
Removes the iterator from the list.
int amxc_llist_it_swap(amxc_llist_it_t *it1, amxc_llist_it_t *it2)
Swaps two linked list iterators.
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.
void amxc_llist_delete(amxc_llist_t **llist, amxc_llist_it_delete_t func)
Frees the previously allocated linked list.
size_t amxc_llist_size(const amxc_llist_t *const llist)
Calculates the size of the linked list.
int amxc_llist_new(amxc_llist_t **llist)
Allocates a linked list.
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.
int amxc_llist_init(amxc_llist_t *const llist)
Initializes a linked list.
int amxc_llist_sort(amxc_llist_t *const llist, amxc_llist_it_cmp_t cmp)
Sorts a linked list.
bool amxc_llist_is_empty(const amxc_llist_t *const llist)
Checks that the linked list is empty.
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.
void amxc_llist_clean(amxc_llist_t *const llist, amxc_llist_it_delete_t func)
Removes all items from the linked list.
int amxc_llist_set_at(amxc_llist_t *const llist, const unsigned int index, amxc_llist_it_t *const it)
Inserts an item at a certain position.
#define amxc_llist_for_each(it, list)
Loops over the list from head to tail.
void(* amxc_llist_it_delete_t)(amxc_llist_it_t *it)
Definition of the linked list item delete function.
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.
AMXC_INLINE amxc_llist_it_t * amxc_llist_get_first(const amxc_llist_t *const llist)
Gets the first item of the linked list.
The linked list iterator structure.
struct _amxc_llist_it * next
struct _amxc_llist_it * prev
The linked list structure.
static amxc_htable_it_t it[2000]
static amxc_llist_t * llist