36typedef struct _SListItem
 
 
  201#define slist_item_next(item) item->next 
  204#define slist_item_get_data(item) item->data 
  207#define slist_item_set_data(item, value) item->data = value 
int32_t(* CompareFunc)(const void *a, const void *b)
void(* FreeFunc)(void *p)
Allocate memory blocks of same sizes.
void slist_destroy(SList *list)
void slist_init(SList *list, CompareFunc compare, FreeFunc free, Pool *pool)
SListItem * slist_find(const SList *list, SListItem *offset, void const *data)
SListItem * slist_append(SList *list, void *data)
void slist_remove_by_data(SList *list, void *data, bool remove_all)
size_t slist_count(const SList *list)
SListItem * slist_insert_sorted(SList *list, void *data)
SList * slist_new(CompareFunc compare, FreeFunc free, Pool *pool)
void slist_clear(SList *list)
bool slist_contains(const SList *list, const void *data)
void slist_item_free_data(const SList *list, SListItem *item)
void slist_remove(SList *list, SListItem *item)
SListItem * slist_prepend(SList *list, void *data)
SListItem * slist_head(const SList *list)
bool slist_empty(const SList *list)
void slist_free(SList *list)
void * slist_pop(SList *list)
Structure holding a list item.
Allocate groups of equal-sized chunks of memory.