Go to the source code of this file.
Data Structures | |
struct | list_node |
struct | list |
Functions | |
list * | list_create () |
Create a new linked list. | |
void | list_delete (struct list *list) |
Delete a linked list. | |
void | list_free (struct list *list) |
Free every item referred to by the list. | |
list * | list_splice (struct list *top, struct list *bottom) |
Splice two lists together. | |
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 list is unaffected. | |
int | list_size (struct list *list) |
Count the elements in a list. | |
int | list_push_priority (struct list *list, void *item, int prio) |
Push an item in priority order. | |
int | list_push_head (struct list *list, void *item) |
Push an item onto the list head. | |
void * | list_pop_head (struct list *list) |
Pop an item off of the list head. | |
void * | list_peek_head (struct list *list) |
Peek at the list head. | |
int | list_push_tail (struct list *list, void *item) |
Push an item onto the list tail. | |
void * | list_pop_tail (struct list *list) |
Pop an item off of the list tail. | |
void * | list_peek_tail (struct list *list) |
Peek at the list tail. | |
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 arg, and returns a pointer to the first matching element. | |
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 removes it. | |
void | list_first_item (struct list *list) |
Begin traversing a list. | |
void * | list_next_item (struct list *list) |
Continue traversing a list. | |
int | list_iterate (struct list *list, list_op_t op, const void *arg) |
Apply a function to a list. | |
int | list_iterate_reverse (struct list *list, list_op_t op, const void *arg) |
Apply a function to a list in reverse. |
|
Create a new linked list.
|
|
Delete a linked list. Note that this function only deletes the list itself, it does not delete the items referred to by the list.
|
|
Free every item referred to by the list. Note that this function does not delete the list itself.
|
|
Splice two lists together.
|
|
Split a list into two at the given item If arg is NULL or not found, list_split returns NULL and the list is unaffected. Otherwise src will contain all elements [src->head, arg) and a new list will be created with all elements [arg, src->tail].
|
|
Count the elements in a list.
|
|
Push an item in priority order.
|
|
Push an item onto the list head.
|
|
Pop an item off of the list head.
|
|
Peek at the list head.
|
|
Push an item onto the list tail.
|
|
Pop an item off of the list tail.
|
|
Peek at the list tail.
|
|
Find an element within a list This function searches the list, comparing each element in the list to arg, and returns a pointer to the first matching element.
|
|
Remove an item from the list This function searches the list for the item pointed to by value and removes it.
|
|
Begin traversing a list. This function sets the internal list iterator to the first item. Call list_next_item to begin returning the items.
|
|
Continue traversing a list. This function returns the current list item, and advances the internal iterator to the next item.
|
|
Apply a function to a list. Invokes op on every member of the list.
|
|
Apply a function to a list in reverse. Invokes op on every member of the list in reverse.
|