|
libdacav 0.9.0
|
Double linked list implementation. More...
#include <dacav/dacav.h>Go to the source code of this file.
Typedefs | |
| typedef struct dlist | dlist_t |
| Opaque type for list. | |
Functions | |
| dlist_t * | dlist_new () |
| Constructor that allocates a new (empty) list. | |
| dlist_t * | dlist_slice (dlist_t *l, unsigned from, unsigned to, dcopy_cb_t cp) |
| Constructor that allocates a list basing on slicing. | |
| dlist_t * | dlist_copy (dlist_t *l, dcopy_cb_t cp) |
| Constructor that makes a shallow copy of the list. | |
| dlist_t * | dlist_sort (dlist_t *l, dcmp_cb_t cmp) |
| Sort the list. | |
| void | dlist_free (dlist_t *l, dfree_cb_t f) |
| Free the given list. | |
| dlist_t * | dlist_append (dlist_t *l, void *o) |
| Append an object. | |
| dlist_t * | dlist_push (dlist_t *l, void *o) |
| Push an object. | |
| dlist_t * | dlist_pop (dlist_t *l, void **o) |
| Pop an object. | |
| int | dlist_empty (dlist_t *l) |
| Check if the list is empty. | |
| dlist_t * | dlist_foreach (dlist_t *l, diter_cb_t f, void *ud) |
| Run a callback on each element of the list. | |
| dlist_t * | dlist_filter (dlist_t *l, dfilter_cb_t f, void *ud) |
| Filter elements of the list. | |
| diter_t * | dlist_iter_new (dlist_t **l, dcprm_t *cprm) |
| Build an iterator for the list. | |
| void | dlist_iter_free (diter_t *i) |
| Destroy the iterator. | |
Double linked list implementation.