35typedef struct _ListItem
 
 
  210#define list_item_next(item) item->next 
  213#define list_item_prev(item) item->prev 
  216#define list_item_get_data(item) item->data 
  219#define list_item_set_data(item, value) item->data = value 
int32_t(* CompareFunc)(const void *a, const void *b)
void(* FreeFunc)(void *p)
List * list_new(CompareFunc compare, FreeFunc free, Pool *pool)
bool list_empty(const List *list)
void list_init(List *list, CompareFunc compare, FreeFunc free, Pool *pool)
ListItem * list_find(const List *list, ListItem *offset, void const *data)
ListItem * list_prepend(List *list, void *data)
ListItem * list_tail(const List *list)
ListItem * list_insert_sorted(List *list, void *data)
void list_remove_by_data(List *list, void *data, bool remove_all)
void list_remove(List *list, ListItem *item)
void list_clear(List *list)
size_t list_count(const List *list)
void list_item_free_data(const List *list, ListItem *item)
ListItem * list_append(List *list, void *data)
void list_free(List *list)
void list_destroy(List *list)
void * list_pop(List *list)
bool list_contains(const List *list, const void *data)
ListItem * list_head(const List *list)
Structure holding a list item.
Allocate memory blocks of same sizes.
Allocate groups of equal-sized chunks of memory.