21 #define list_delete cctools_list_delete
22 #define list_free cctools_list_free
23 #define list_pop_head cctools_list_pop_head
24 #define list_peek_head cctools_list_peek_head
25 #define list_pop_tail cctools_list_pop_tail
26 #define list_peek_tail cctools_list_peek_tail
27 #define list_remove cctools_list_remove
28 #define list_find cctools_list_find
29 #define list_create cctools_list_create
30 #define list_splice cctools_list_splice
31 #define list_split cctools_list_split
32 #define list_size cctools_list_size
33 #define list_push_priority cctools_list_push_priority
34 #define list_push_head cctools_list_push_head
35 #define list_push_tail cctools_list_push_tail
36 #define list_iterate cctools_list_iterate
37 #define list_iterate_reverse cctools_list_iterate_reverse
38 #define list_first_item cctools_list_first_item
39 #define list_next_item cctools_list_next_item
55 typedef int (*list_op_t) (
void *item,
const void *arg);
struct list * list_duplicate(struct list *list)
Duplicate a linked list Returns a copy of the linked list.
void * list_find(struct list *list, list_op_t cmp, const void *arg)
Find an element within a list This function searches the list, comparing each element in the list to ...
int list_push_head(struct list *list, void *item)
Push an item onto the list head.
struct list * list_split(struct list *src, list_op_t cmp, const void *arg)
Split a list into two at the given item If arg is NULL or not found, list_split returns NULL and the ...
struct list * list_sort(struct list *list, int(*comparator)(const void *, const void *))
Sort a list using a comparator function.
int list_push_priority(struct list *list, void *item, int prio)
Push an item in priority order.
void list_first_item(struct list *list)
Begin traversing a list.
int list_push_tail(struct list *list, void *item)
Push an item onto the list tail.
void * list_peek_tail(struct list *list)
Peek at the list tail.
struct list * list_create()
Create a new linked list.
void list_delete(struct list *list)
Delete a linked list.
int list_size(struct list *list)
Count the elements in a list.
void * list_pop_tail(struct list *list)
Pop an item off of the list tail.
struct list * list_splice(struct list *top, struct list *bottom)
Splice two lists together.
void * list_peek_head(struct list *list)
Peek at the list head.
int list_iterate_reverse(struct list *list, list_op_t op, const void *arg)
Apply a function to a list in reverse.
int list_iterate(struct list *list, list_op_t op, const void *arg)
Apply a function to a list.
void * list_pop_head(struct list *list)
Pop an item off of the list head.
void list_free(struct list *list)
Free every item referred to by the list.
void * list_remove(struct list *list, const void *value)
Remove an item from the list This function searches the list for the item pointed to by value and rem...
void * list_next_item(struct list *list)
Continue traversing a list.