ucx/dlist.h

changeset 87
bd444539cced
parent 67
27e67e725d35
child 93
a6a99e721660
equal deleted inserted replaced
86:55bf819cbc88 87:bd444539cced
17 void *data; 17 void *data;
18 UcxDlist *restrict next; 18 UcxDlist *restrict next;
19 UcxDlist *restrict prev; 19 UcxDlist *restrict prev;
20 }; 20 };
21 21
22 UcxDlist *restrict ucx_dlist_clone(UcxDlist *restrict l, 22 UcxDlist *ucx_dlist_clone(UcxDlist *l, copy_func fnc, void* data);
23 copy_func fnc, void* data);
24 int ucx_dlist_equals(const UcxDlist *l1, const UcxDlist *l2, 23 int ucx_dlist_equals(const UcxDlist *l1, const UcxDlist *l2,
25 cmp_func fnc, void* data); 24 cmp_func fnc, void* data);
26 25
27 void ucx_dlist_free(UcxDlist *l); 26 void ucx_dlist_free(UcxDlist *l);
28 UcxDlist *ucx_dlist_append(UcxDlist *l, void *data); 27 UcxDlist *ucx_dlist_append(UcxDlist *l, void *data);
29 UcxDlist *ucx_dlist_prepend(UcxDlist *l, void *data); 28 UcxDlist *ucx_dlist_prepend(UcxDlist *l, void *data);
30 UcxDlist *ucx_dlist_concat(UcxDlist *restrict l1, UcxDlist *restrict l2); 29 UcxDlist *ucx_dlist_concat(UcxDlist *restrict l1, UcxDlist *restrict l2);
31 UcxDlist *ucx_dlist_last(const UcxDlist *l); 30 UcxDlist *ucx_dlist_last(const UcxDlist *l);
32 UcxDlist *ucx_dlist_get(const UcxDlist *l, int index); 31 UcxDlist *ucx_dlist_get(const UcxDlist *l, int index);
33 size_t ucx_dlist_size(const UcxDlist *l); 32 size_t ucx_dlist_size(const UcxDlist *l);
33 int ucx_dlist_contains(UcxDlist *l, void *elem, cmp_func fnc, void *cmpdata);
34 34
35 UcxDlist *ucx_dlist_sort(UcxDlist *l, cmp_func fnc, void *data); 35 UcxDlist *ucx_dlist_sort(UcxDlist *l, cmp_func fnc, void *data);
36 36
37 /* dlist specific functions */ 37 /* dlist specific functions */
38 UcxDlist *ucx_dlist_first(const UcxDlist *l); 38 UcxDlist *ucx_dlist_first(const UcxDlist *l);

mercurial