Data Structures | |
| struct | di_slist |
| Single-linked list. More... | |
| struct | di_slist_node |
| Node of a single-linked list. More... | |
Functions | |
| di_slist * | di_slist_alloc (void) |
| void | di_slist_destroy (di_slist *slist, di_destroy_notify destroy_func) __attribute__((nonnull(1))) |
| void | di_slist_free (di_slist *slist) |
| void | di_slist_append (di_slist *slist, void *data) __attribute__((nonnull(1))) |
| void | di_slist_append_chunk (di_slist *slist, void *data, di_mem_chunk *mem_chunk) __attribute__((nonnull(1 |
| void | di_slist_prepend (di_slist *slist, void *data) __attribute__((nonnull(1))) |
| void | di_slist_prepend_chunk (di_slist *slist, void *data, di_mem_chunk *mem_chunk) __attribute__((nonnull(1 |
|
|
Allocate a single-linked list
|
|
||||||||||||
|
Append to a single-linked list
00072 {
00073 return internal_di_slist_append (slist, data, di_new (di_slist_node, 1));
00074 }
|
|
||||||||||||||||
|
Append to a single-linked list
|
|
||||||||||||
|
Destroy the contents of a single-linked list
00039 {
00040 di_slist_node *node, *temp;
00041
00042 node = slist->head;
00043 while (node)
00044 {
00045 temp = node;
00046 node = node->next;
00047 if (destroy_func)
00048 destroy_func (temp->data);
00049 di_free (temp);
00050 }
00051 }
|
|
|
Free a single-linked list
00054 {
00055 di_free (slist);
00056 }
|
|
||||||||||||
|
Prepend to a single-linked list
00093 {
00094 return internal_di_slist_prepend (slist, data, di_new (di_slist_node, 1));
00095 }
|
|
||||||||||||||||
|
Prepend to a single-linked list
|
1.3.5