Data Structures | |
| struct | di_list |
| Double-linked list. More... | |
| struct | di_list_node |
| Node of a double-linked list. More... | |
Functions | |
| di_list * | di_list_alloc (void) |
| void | di_list_destroy (di_list *list, di_destroy_notify destroy_func) __attribute__((nonnull(1))) |
| void | di_list_free (di_list *list) |
| void | di_list_append (di_list *list, void *data) __attribute__((nonnull(1))) |
| void | di_list_append_chunk (di_list *list, void *data, di_mem_chunk *mem_chunk) __attribute__((nonnull(1 |
| void void | di_list_prepend (di_list *list, void *data) __attribute__((nonnull(1))) |
| void | di_list_prepend_chunk (di_list *list, void *data, di_mem_chunk *mem_chunk) __attribute__((nonnull(1 |
| di_list* di_list_alloc | ( | void | ) |
| void di_list_append | ( | di_list * | list, | |
| void * | data | |||
| ) |
Append to a double-linked list
| list | a di_list | |
| data | the data |
References di_new.
{
return internal_di_list_append (list, data, di_new (di_list_node, 1));
}
| void di_list_append_chunk | ( | di_list * | list, | |
| void * | data, | |||
| di_mem_chunk * | mem_chunk | |||
| ) |
Append to a double-linked list
| list | a di_list | |
| data | the data |
| void di_list_destroy | ( | di_list * | list, | |
| di_destroy_notify | destroy_func | |||
| ) |
Destroy the contents of a double-linked list
| list | a di_list |
References di_list_node::data, di_free(), head, and di_list_node::next.
{
di_list_node *node, *temp;
node = list->head;
while (node)
{
temp = node;
node = node->next;
if (destroy_func)
destroy_func (temp->data);
di_free (temp);
}
}
| void di_list_free | ( | di_list * | list | ) |
| void void di_list_prepend | ( | di_list * | list, | |
| void * | data | |||
| ) |
Prepend to a double-linked list
| list | a di_list | |
| data | the data |
References di_new.
{
return internal_di_list_prepend (list, data, di_new (di_list_node, 1));
}
| void di_list_prepend_chunk | ( | di_list * | list, | |
| void * | data, | |||
| di_mem_chunk * | mem_chunk | |||
| ) |
Prepend to a double-linked list
| list | a di_list | |
| data | the data | |
| mem_chunk | a di_mem_chunk for allocation of new nodes |
1.7.1