eina_list_03.c
//Compile with:
//gcc -g eina_list_03.c -o eina_list_03 `pkg-config --cflags --libs eina`
#include <stdio.h>
#include <Eina.h>
int
main(int argc, char **argv)
{
Eina_List *list = NULL, *r_list;
void *list_data;
list = eina_list_append(list, "caprica");
list = eina_list_append(list, "sagitarius");
list = eina_list_append(list, "aerilon");
list = eina_list_append(list, "gemenon");
list = eina_list_demote_list(list, eina_list_nth_list(list, 2));
list = eina_list_remove(list, "sagitarius");
l = eina_list_data_find_list(list, "aerilon");
eina_list_data_set(l, "aquarius");
printf("size: %d\n", eina_list_count(list));
r_list = eina_list_reverse_clone(list);
itr = eina_list_iterator_new(r_list);
EINA_ITERATOR_FOREACH(itr, list_data)
printf("%s\n", (char*)list_data);
eina_list_free(r_list);
return 0;
}
Eina Utility library.
#define EINA_ITERATOR_FOREACH(itr, data)
Macro to iterate over all elements easily.
Definition eina_iterator.h:332
struct _Eina_Iterator Eina_Iterator
Abstract type for iterators.
Definition eina_iterator.h:126
void eina_iterator_free(Eina_Iterator *iterator)
Free an iterator.
Definition eina_iterator.c:96
static void * eina_list_data_set(Eina_List *list, const void *data)
Set the list node data member.
Eina_Iterator * eina_list_iterator_new(const Eina_List *list)
Returned a new iterator associated to a list.
Definition eina_list.c:1409
static unsigned int eina_list_count(const Eina_List *list)
Get the count of the number of items in a list.
Eina_List * eina_list_nth_list(const Eina_List *list, unsigned int n)
Get the nth member's list node in a list.
Definition eina_list.c:927
Eina_List * eina_list_free(Eina_List *list)
Free an entire list and all the nodes, ignoring the data contained.
Definition eina_list.c:754
Eina_List * eina_list_data_find_list(const Eina_List *list, const void *data)
Find a member of a list and return the list node containing that member.
Definition eina_list.c:900
Eina_List * eina_list_promote_list(Eina_List *list, Eina_List *move_list)
Move the specified data to the head of the list.
Definition eina_list.c:775
struct _Eina_List Eina_List
Type for a generic double linked list.
Definition eina_list.h:307
Eina_List * eina_list_reverse_clone(const Eina_List *list)
Clone (copy) all the elements in the list in reverse order.
Definition eina_list.c:991
Eina_List * eina_list_remove(Eina_List *list, const void *data)
Remove the first instance of the specified data from the given list.
Definition eina_list.c:708
Eina_List * eina_list_append(Eina_List *list, const void *data)
Append the given data to the given linked list.
Definition eina_list.c:530
Eina_List * eina_list_demote_list(Eina_List *list, Eina_List *move_list)
Move the specified data to the tail of the list.
Definition eina_list.c:818
int eina_shutdown(void)
Shut down the Eina library.
Definition eina_main.c:315
int eina_init(void)
Initialize the Eina library.
Definition eina_main.c:244