46# include <libltdl/lt__glibc.h>
47# include <libltdl/lt_system.h>
54#if defined __cplusplus
63typedef void * SListCallback (SList *item,
void *userdata);
64typedef int SListCompare (
const SList *item1,
const SList *item2,
67LT_SCOPE SList *slist_concat (SList *head, SList *tail);
68LT_SCOPE SList *slist_cons (SList *item, SList *
slist);
70LT_SCOPE SList *slist_delete (SList *
slist,
void (*delete_fct) (
void *item));
71LT_SCOPE SList *slist_remove (SList **phead, SListCallback *find,
73LT_SCOPE SList *slist_reverse (SList *
slist);
74LT_SCOPE SList *slist_sort (SList *
slist, SListCompare *compare,
77LT_SCOPE SList *slist_tail (SList *
slist);
78LT_SCOPE SList *slist_nth (SList *
slist,
size_t n);
79LT_SCOPE
void * slist_find (SList *
slist, SListCallback *find,
81LT_SCOPE
size_t slist_length (SList *
slist);
83LT_SCOPE
void * slist_foreach (SList *
slist, SListCallback *
foreach,
86LT_SCOPE SList *slist_box (
const void *userdata);
87LT_SCOPE
void * slist_unbox (SList *item);
89#if defined __cplusplus