libcstl
Loading...
Searching...
No Matches
Functions
dlist.c File Reference

Go to the source code of this file.

Functions

void cstl_dlist_insert (struct cstl_dlist *const l, void *const pe, void *const e)
 Insert a new object into the list.
 
void cstl_dlist_erase (struct cstl_dlist *const l, void *const e)
 Remove an object from the list.
 
void * cstl_dlist_front (struct cstl_dlist *const l)
 Get a pointer to the first object in the list.
 
void * cstl_dlist_back (struct cstl_dlist *const l)
 Get a pointer to the last object in the list.
 
void cstl_dlist_push_front (struct cstl_dlist *const l, void *const e)
 Insert a new object at the front of the list.
 
void cstl_dlist_push_back (struct cstl_dlist *const l, void *const e)
 Insert a new object at the back of the list.
 
void * cstl_dlist_pop_front (struct cstl_dlist *const l)
 Remove the first item in the list and return it.
 
void * cstl_dlist_pop_back (struct cstl_dlist *const l)
 Remove the last item in the list and return it.
 
int cstl_dlist_foreach (struct cstl_dlist *const l, cstl_visit_func_t *const visit, void *const p, const cstl_dlist_foreach_dir_t dir)
 Call a user-supplied function for each object in a list.
 
void * cstl_dlist_find (const struct cstl_dlist *const l, const void *const e, cstl_compare_func_t *const cmp, void *const cmp_p, const cstl_dlist_foreach_dir_t dir)
 Perform a linear search for an object.
 
void cstl_dlist_swap (struct cstl_dlist *const a, struct cstl_dlist *const b)
 Swap the list objects at the two given locations.
 
void cstl_dlist_clear (struct cstl_dlist *const l, cstl_xtor_func_t *const clr)
 Remove objects from and reinitialize a list.
 
void cstl_dlist_reverse (struct cstl_dlist *const l)
 Reverse the order of items in the list.
 
void cstl_dlist_concat (struct cstl_dlist *const d, struct cstl_dlist *const s)
 Append one list to the end of another.
 
void cstl_dlist_sort (struct cstl_dlist *const l, cstl_compare_func_t *const cmp, void *const priv)
 Sort the items in a list.