Macros for basic linked list operations.
For in-depth documentation see
http://troydhanson.github.io/uthash/utlist.html
Definition in file utlist.h.
|
#define | LL_PREPEND(head, add) |
| LL prepend element 'add' to list.
|
|
#define | LL_PREPEND2(head, add, next) |
| LL prepend to list with alternative next ptr name 'next'.
|
|
#define | LL_CONCAT(head1, head2) |
| LL concat to append second list to first.
|
|
#define | LL_CONCAT2(head1, head2, next) |
| LL concat with alternative next ptr name 'next'.
|
|
#define | LL_APPEND(head, add) |
| LL append to append element 'add' to list.
|
|
#define | LL_APPEND2(head, add, next) |
| LL append with alternative next ptr name 'next'.
|
|
#define | LL_DELETE(head, del) |
| LL delete element 'del' from list.
|
|
#define | LL_DELETE2(head, del, next) |
| LL delete with alternative next ptr name 'name'.
|
|
#define | LL_APPEND_VS2008(head, add) |
|
#define | LL_APPEND2_VS2008(head, add, next) |
|
#define | LL_DELETE_VS2008(head, del) |
|
#define | LL_DELETE2_VS2008(head, del, next) |
|
#define | LL_COUNT(head, el, counter) |
| LL count list elements using 'counter'.
|
|
#define | LL_COUNT2(head, el, counter, next) |
| LL count with alternative next ptr name 'next'.
|
|
#define | LL_FOREACH(head, el) |
| LL list iteration.
|
|
#define | LL_FOREACH2(head, el, next) |
| LL list iteration with alternative next ptr name 'next'.
|
|
#define | LL_FOREACH_SAFE(head, el, tmp) |
| LL safe list iteration Use if list elements might be deleted while iterating.
|
|
#define | LL_FOREACH_SAFE2(head, el, tmp, next) |
| LL safe list iteration with alternative ptr names.
|
|
#define | LL_SEARCH_SCALAR(head, out, field, val) |
| LL scalar search for element with value 'val' for member 'field'.
|
|
#define | LL_SEARCH_SCALAR2(head, out, field, val, next) |
| LL scalar search with alternative next ptr name 'next'.
|
|
#define | LL_SEARCH(head, out, elt, cmp) |
| LL search element 'elt' in list using function 'cmp'.
|
|
#define | LL_SEARCH2(head, out, elt, cmp, next) |
| LL search with alternative next ptr name 'next'.
|
|
#define | LL_REPLACE_ELEM(head, el, add) |
| LL replace element 'el' with element 'add' in list.
|
|
#define | LL_PREPEND_ELEM(head, el, add) |
| LL prepend new element 'add' to element 'el' in list.
|
|
|
#define | DL_PREPEND(head, add) |
| DL prepend element 'add' to list.
|
|
#define | DL_PREPEND2(head, add, prev, next) |
| DL prepend to list with alternative ptr names.
|
|
#define | DL_APPEND(head, add) |
| DL append to append element 'add' to list.
|
|
#define | DL_APPEND2(head, add, prev, next) |
| DL append with alternative next ptr name 'next'.
|
|
#define | DL_CONCAT(head1, head2) |
| DL concat to append second list to first.
|
|
#define | DL_CONCAT2(head1, head2, prev, next) |
| DL concat with alternative next ptr name 'next'.
|
|
#define | DL_DELETE(head, del) |
| DL delete element 'del' from list.
|
|
#define | DL_DELETE2(head, del, prev, next) |
| DL delete with alternative ptr names.
|
|
#define | DL_COUNT(head, el, counter) |
| DL count list elements using 'counter'.
|
|
#define | DL_COUNT2(head, el, counter, next) |
| DL count with alternative next ptr name 'next'.
|
|
#define | DL_FOREACH(head, el) |
| DL list iteration.
|
|
#define | DL_FOREACH2(head, el, next) |
| DL list iteration with alternative next ptr name 'next'.
|
|
#define | DL_FOREACH_SAFE(head, el, tmp) |
| DL safe list iteration Use if list elements might be deleted while iterating.
|
|
#define | DL_FOREACH_SAFE2(head, el, tmp, next) |
| DL safe list iteration with alternative ptr names.
|
|
#define | DL_SEARCH_SCALAR LL_SEARCH_SCALAR |
| DL scalar search for element with value 'val' for member 'field' Identical to singly-linked counterpart.
|
|
#define | DL_SEARCH_SCALAR2 LL_SEARCH_SCALAR2 |
| DL scalar search with alternative next ptr name 'next' Identical to singly-linked counterpart.
|
|
#define | DL_SEARCH LL_SEARCH |
| DL search element 'elt' in list using function 'cmp' Identical to singly-linked counterpart.
|
|
#define | DL_SEARCH2 LL_SEARCH2 |
| DL search with alternative next ptr name 'next' Identical to singly-linked counterpart.
|
|
#define | DL_REPLACE_ELEM(head, el, add) |
| DL replace element 'el' with element 'add' in list.
|
|
#define | DL_PREPEND_ELEM(head, el, add) |
| DL prepend new element 'add' to element 'el' in list.
|
|
|
#define | CDL_PREPEND(head, add) |
| CDL prepend element 'add' to list.
|
|
#define | CDL_PREPEND2(head, add, prev, next) |
| CDL prepend to list with alternative ptr names.
|
|
#define | CDL_DELETE(head, del) |
| CDL delete element 'del' from list.
|
|
#define | CDL_DELETE2(head, del, prev, next) |
| CDL delete with alternative ptr names.
|
|
#define | CDL_COUNT(head, el, counter) |
| CDL count list elements using 'counter'.
|
|
#define | CDL_COUNT2(head, el, counter, next) |
| CDL count with alternative next ptr name 'next'.
|
|
#define | CDL_FOREACH(head, el) |
| CDL list iteration.
|
|
#define | CDL_FOREACH2(head, el, next) |
| CDL list iteration with alternative next ptr name 'next'.
|
|
#define | CDL_FOREACH_SAFE(head, el, tmp1, tmp2) |
| CDL safe list iteration Use if list elements might be deleted while iterating.
|
|
#define | CDL_FOREACH_SAFE2(head, el, tmp1, tmp2, prev, next) |
| CDL safe list iteration with alternative ptr names.
|
|
#define | CDL_SEARCH_SCALAR(head, out, field, val) |
| CDL scalar search for element with value 'val' for member 'field'.
|
|
#define | CDL_SEARCH_SCALAR2(head, out, field, val, next) |
| CDL scalar search with alternative next ptr name 'next'.
|
|
#define | CDL_SEARCH(head, out, elt, cmp) |
| CDL search element 'elt' in list using function 'cmp'.
|
|
#define | CDL_SEARCH2(head, out, elt, cmp, next) |
| CDL search with alternative next ptr name 'next'.
|
|
#define | CDL_REPLACE_ELEM(head, el, add) |
| CDL replace element 'el' with element 'add' in list.
|
|
#define | CDL_PREPEND_ELEM(head, el, add) |
| CDL prepend new element 'add' to element 'el' in list.
|
|