76 assert_ptr_not_equal(
llist, NULL);
80 assert_ptr_equal(
llist, NULL);
183 assert_ptr_equal(
it1.
next, NULL);
184 assert_ptr_equal(
it1.
prev, NULL);
193 assert_ptr_equal(
it1.
prev, NULL);
194 assert_ptr_equal(
it2.
next, NULL);
228 assert_ptr_equal(
it1.
next, NULL);
229 assert_ptr_equal(
it1.
prev, NULL);
238 assert_ptr_equal(
it2.
prev, NULL);
239 assert_ptr_equal(
it1.
next, NULL);
276 assert_ptr_equal(
it1.
next, NULL);
279 assert_ptr_equal(
it2.
prev, NULL);
291 assert_ptr_equal(
it2.
prev, NULL);
292 assert_ptr_equal(
it3.
next, NULL);
306 assert_ptr_equal(
it2.
next, NULL);
309 assert_ptr_equal(
it3.
prev, NULL);
317 assert_ptr_equal(
it1.
next, NULL);
319 assert_ptr_equal(
it2.
prev, NULL);
390 assert_ptr_equal(
it.prev, NULL);
395 assert_ptr_equal(
it.prev, &
it1);
400 assert_ptr_equal(
it.prev, &
it2);
404 assert_ptr_equal(
it.
next, NULL);
405 assert_ptr_equal(
it.prev, &
it3);
409 assert_ptr_equal(
it.
next, NULL);
410 assert_ptr_equal(
it.prev, NULL);
432 assert_ptr_equal(
it.
next, NULL);
433 assert_ptr_equal(
it.prev, NULL);
434 assert_ptr_equal(
it.llist, NULL);
485 assert_ptr_equal(
it1.
prev, NULL);
486 assert_ptr_equal(
it2.
next, NULL);
487 assert_ptr_equal(
it2.
prev, NULL);
488 assert_ptr_equal(
it3.
next, NULL);
507 assert_ptr_equal(
it1.
prev, NULL);
511 assert_ptr_equal(
it1.
prev, NULL);
520 assert_ptr_equal(
it1.
prev, NULL);
545 assert_ptr_equal(
it2.
next, NULL);
546 assert_ptr_equal(
it2.
prev, NULL);
558 assert_ptr_equal(
it1.
prev, NULL);
562 assert_ptr_equal(
it1.
prev, NULL);
570 assert_ptr_equal(
it3.
next, NULL);
596 assert_ptr_equal(
it2.
next, NULL);
597 assert_ptr_equal(
it2.
prev, NULL);
742 const char data[16] =
"KRATELEPUIMQCXOS";
743 const char sorted[16] =
"ACEEIKLMOPQRSTUX";
746 for(
int i = 0; i < 16; i++) {
754 for(
unsigned int index = 0; index < 16; index++) {
756 printf(
"%c\n", d->
data);
757 assert_int_equal(d->
data, sorted[index]);
774 const char data[16] =
"KRATELEPUIMQCXOS";
778 for(
int i = 0; i < 16; i++) {
790 for(
int i = 0; i < 16; i++) {
Ambiorix linked list API header file.
int amxc_llist_it_init(amxc_llist_it_t *const it)
Initializes a linked list iterator.
AMXC_INLINE bool amxc_llist_it_is_in_list(const amxc_llist_it_t *const it)
Checks that an iterator is in a list.
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.
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.
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.
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.
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.
void amxc_llist_it_take(amxc_llist_it_t *const it)
Removes the iterator from the list.
#define amxc_llist_it_get_data(it, type, member)
Gets the data pointer from a linked list iterator.
unsigned int amxc_llist_it_index_of(const amxc_llist_it_t *const it)
Gets the index of an iterator in 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.
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.
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 *llist, const unsigned int index, amxc_llist_it_t *const it)
Inserts an item at a certain position.
AMXC_INLINE amxc_llist_it_t * amxc_llist_get_last(const amxc_llist_t *const llist)
Gets the last item of the linked list.
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 * llist
struct _amxc_llist_it * prev
The linked list structure.
static amxc_htable_it_t it[2000]
void amxc_llist_new_delete_null_check(UNUSED void **state)
void amxc_llist_it_take_double_check(UNUSED void **state)
void amxc_llist_append_move_same_list_check(UNUSED void **state)
void amxc_llist_it_take_check(UNUSED void **state)
void amxc_llist_size_null_check(UNUSED void **state)
void test_amxc_llist_move(UNUSED void **state)
static amxc_llist_t * llist1
void amxc_llist_init_clean_null_check(UNUSED void **state)
void amxc_llist_swap_in_same_llist_check(UNUSED void **state)
void amxc_llist_init_clean_check(UNUSED void **state)
void amxc_llist_it_clean_check(UNUSED void **state)
void amxc_llist_prepend_check(UNUSED void **state)
void amxc_llist_it_clean_cb_check(UNUSED void **state)
static void amxc_llist_setup(void)
void amxc_llist_get_last_check(UNUSED void **state)
void amxc_llist_new_delete_check(UNUSED void **state)
void amxc_llist_prepend_move_same_list_check(UNUSED void **state)
void test_amxc_llist_sort(UNUSED void **state)
static void check_it_delete_func(amxc_llist_it_t *it)
void amxc_llist_it_init_null_check(UNUSED void **state)
static amxc_llist_it_t it3
void amxc_llist_it_insert_after_invalid_it_check(UNUSED void **state)
static amxc_llist_it_t s_it_func_check
void amxc_llist_is_empty_check(UNUSED void **state)
void amxc_llist_swap_in_different_llist_check(UNUSED void **state)
static amxc_llist_t * llist
void amxc_llist_prepend_null_check(UNUSED void **state)
void amxc_llist_get_at_check(UNUSED void **state)
static void amxc_llist_it_setup(void)
void amxc_llist_it_insert_after_tail_check(UNUSED void **state)
void amxc_llist_take_at_check(UNUSED void **state)
static amxc_llist_it_t it4
void amxc_llist_it_index_of_check(UNUSED void **state)
static int test_cmp(amxc_llist_it_t *it1, amxc_llist_it_t *it2)
void amxc_llist_append_null_check(UNUSED void **state)
void amxc_llist_it_insert_before_null_check(UNUSED void **state)
void amxc_llist_delete_func_check(UNUSED void **state)
void amxc_llist_it_insert_after_null_check(UNUSED void **state)
void amxc_llist_it_next_prev_check(UNUSED void **state)
void amxc_llist_size_check(UNUSED void **state)
void amxc_llist_set_at_check(UNUSED void **state)
static void amxc_llist_it_teardown(void)
void amxc_llist_it_clean_null_check(UNUSED void **state)
void amxc_llist_it_insert_before_invalid_it_check(UNUSED void **state)
void amxc_llist_it_is_in_list_check(UNUSED void **state)
void amxc_llist_it_take_null_check(UNUSED void **state)
void amxc_llist_it_insert_after_check(UNUSED void **state)
void amxc_llist_it_init_check(UNUSED void **state)
static amxc_llist_it_t it2
void amxc_llist_clean_func_check(UNUSED void **state)
void amxc_llist_it_insert_before_head_check(UNUSED void **state)
static amxc_llist_t * llist2
static void test_del_data(amxc_llist_it_t *it)
static amxc_llist_it_t it1
void amxc_llist_clean_cb_check(UNUSED void **state)
void amxc_llist_is_empty_null_check(UNUSED void **state)
void amxc_llist_it_insert_before_check(UNUSED void **state)
void amxc_llist_get_first_check(UNUSED void **state)
static void amxc_llist_teardown(void)
void amxc_llist_delete_cb_check(UNUSED void **state)
void amxc_llist_append_check(UNUSED void **state)