52typedef void * (*genlist_copy_fn_t) (
const void *);
138 int (*
compar) (
const void *,
const void *));
161 return (plink !=
nullptr ? plink->
dataptr :
nullptr);
void genlist_insert_before(struct genlist *pgenlist, void *data, struct genlist_link *plink) fc__attribute((nonnull(1)))
void genlist_allocate_mutex(struct genlist *pgenlist)
void genlist_unique_full(struct genlist *pgenlist, genlist_comp_fn_t comp_data_func) fc__attribute((nonnull(1)))
void genlist_release_mutex(struct genlist *pgenlist)
void genlist_insert(struct genlist *pgenlist, void *data, int idx) fc__attribute((nonnull(1)))
void * genlist_get(const struct genlist *pgenlist, int idx)
void genlist_pop_front(struct genlist *pgenlist) fc__attribute((nonnull(1)))
int genlist_remove_all(struct genlist *pgenlist, const void *data) fc__attribute((nonnull(1)))
void genlist_erase(struct genlist *pgenlist, struct genlist_link *plink) fc__attribute((nonnull(1)))
bool(* genlist_cond_fn_t)(const void *)
void genlist_append(struct genlist *pgenlist, void *data) fc__attribute((nonnull(1)))
int genlist_size(const struct genlist *pgenlist) fc__attribute((nonnull(1)))
struct genlist * genlist_copy(const struct genlist *pgenlist) fc__warn_unused_result
bool(* genlist_comp_fn_t)(const void *, const void *)
static struct genlist_link * genlist_head(const struct genlist *pgenlist)
static void * genlist_link_data(const struct genlist_link *plink)
struct genlist * genlist_copy_full(const struct genlist *pgenlist, genlist_copy_fn_t copy_data_func, genlist_free_fn_t free_data_func) fc__warn_unused_result
bool genlist_remove(struct genlist *pgenlist, const void *data) fc__attribute((nonnull(1)))
void genlist_destroy(struct genlist *pgenlist)
void genlist_reverse(struct genlist *pgenlist) fc__attribute((nonnull(1)))
void * genlist_back(const struct genlist *pgenlist)
struct genlist_link * genlist_link_get(const struct genlist *pgenlist, int idx) fc__attribute((nonnull(1)))
struct genlist_link * genlist_search(const struct genlist *pgenlist, const void *data) fc__attribute((nonnull(1)))
void genlist_unique(struct genlist *pgenlist)
void genlist_insert_after(struct genlist *pgenlist, void *data, struct genlist_link *plink) fc__attribute((nonnull(1)))
void genlist_pop_back(struct genlist *pgenlist) fc__attribute((nonnull(1)))
int genlist_remove_all_if(struct genlist *pgenlist, genlist_cond_fn_t cond_data_func) fc__attribute((nonnull(1)))
struct genlist_link * genlist_search_if(const struct genlist *pgenlist, genlist_cond_fn_t cond_data_func) fc__attribute((nonnull(1)))
void *(* genlist_copy_fn_t)(const void *)
void genlist_sort(struct genlist *pgenlist, int(*compar)(const void *, const void *))
struct genlist * genlist_new_full(genlist_free_fn_t free_data_func) fc__warn_unused_result
struct genlist_link * genlist_tail(const struct genlist *pgenlist)
void genlist_clear(struct genlist *pgenlist) fc__attribute((nonnull(1)))
struct genlist * genlist_new(void) fc__warn_unused_result
void * genlist_front(const struct genlist *pgenlist)
void(* genlist_free_fn_t)(void *)
static fc__warn_unused_result struct genlist_link * genlist_link_prev(const struct genlist_link *plink)
void genlist_prepend(struct genlist *pgenlist, void *data) fc__attribute((nonnull(1)))
void genlist_shuffle(struct genlist *pgenlist)
static fc__warn_unused_result struct genlist_link * genlist_link_next(const struct genlist_link *plink)
bool genlist_remove_if(struct genlist *pgenlist, genlist_cond_fn_t cond_data_func) fc__attribute((nonnull(1)))
struct genlist_link * prev
struct genlist_link * next
struct genlist_link * tail_link
struct genlist_link * head_link
genlist_free_fn_t free_data_func
#define fc__warn_unused_result