43# include <libltdl/lt__glibc.h>
44# include <libltdl/lt_system.h>
51#if defined __cplusplus
60typedef void * SListCallback (SList *item,
void *userdata);
61typedef int SListCompare (
const SList *item1,
const SList *item2,
64LT_SCOPE SList *slist_concat (SList *head, SList *tail);
65LT_SCOPE SList *slist_cons (SList *item, SList *
slist);
67LT_SCOPE SList *slist_delete (SList *
slist,
void (*delete_fct) (
void *item));
68LT_SCOPE SList *slist_remove (SList **phead, SListCallback *find,
70LT_SCOPE SList *slist_reverse (SList *
slist);
71LT_SCOPE SList *slist_sort (SList *
slist, SListCompare *compare,
74LT_SCOPE SList *slist_tail (SList *
slist);
75LT_SCOPE SList *slist_nth (SList *
slist,
size_t n);
76LT_SCOPE
void * slist_find (SList *
slist, SListCallback *find,
78LT_SCOPE
size_t slist_length (SList *
slist);
80LT_SCOPE
void * slist_foreach (SList *
slist, SListCallback *
foreach,
83LT_SCOPE SList *slist_box (
const void *userdata);
84LT_SCOPE
void * slist_unbox (SList *item);
86#if defined __cplusplus