29#include <mstdlib/base/m_defs.h>
30#include <mstdlib/base/m_types.h>
31#include <mstdlib/base/m_sort.h>
82typedef void *(*M_llist_duplicate_func)(
const void *);
M_llist_duplicate_func duplicate_copy
Definition: m_llist.h:96
M_sort_compar_t equality
Definition: m_llist.h:92
M_llist_duplicate_func duplicate_insert
Definition: m_llist.h:94
M_llist_free_func value_free
Definition: m_llist.h:98
M_llist_node_t * M_llist_node_prev(const M_llist_node_t *n)
M_llist_node_t * M_llist_insert_after(M_llist_node_t *n, const void *val)
M_llist_node_t * M_llist_insert_first(M_llist_t *d, const void *val)
M_bool M_llist_move_after(M_llist_node_t *move, M_llist_node_t *after)
struct M_llist M_llist_t
Definition: m_llist.h:75
M_llist_node_t * M_llist_node_next(const M_llist_node_t *n)
void(* M_llist_free_func)(void *)
Definition: m_llist.h:86
M_llist_node_t * M_llist_insert_before(M_llist_node_t *n, const void *val)
size_t M_llist_count(const M_llist_t *d, const void *val, M_uint32 type)
void M_llist_set_last(M_llist_node_t *n)
M_llist_node_t * M_llist_find(const M_llist_t *d, const void *val, M_uint32 type)
size_t M_llist_len(const M_llist_t *d)
void *(* M_llist_duplicate_func)(const void *)
Definition: m_llist.h:82
void M_llist_merge(M_llist_t **dest, M_llist_t *src, M_bool include_duplicates, M_uint32 type) M_FREE(2)
M_bool M_llist_change_sorting(M_llist_t *d, M_sort_compar_t equality_cb, void *equality_thunk)
void M_llist_destroy(M_llist_t *d, M_bool destroy_vals) M_FREE(1)
M_llist_node_t * M_llist_last(const M_llist_t *d)
M_llist_node_t * M_llist_insert(M_llist_t *d, const void *val)
M_llist_flags_t
Definition: m_llist.h:104
M_llist_t * M_llist_create(const struct M_llist_callbacks *callbacks, M_uint32 flags) M_MALLOC
struct M_llist_node M_llist_node_t
Definition: m_llist.h:78
M_bool M_llist_move_before(M_llist_node_t *move, M_llist_node_t *before)
M_llist_t * M_llist_duplicate(const M_llist_t *d) M_MALLOC
void M_llist_set_first(M_llist_node_t *n)
void M_llist_remove_duplicates(M_llist_t *d, M_uint32 type)
M_llist_match_type_t
Definition: m_llist.h:114
void * M_llist_take_node(M_llist_node_t *n)
size_t M_llist_remove_val(M_llist_t *d, const void *val, M_uint32 type)
M_llist_node_t * M_llist_first(const M_llist_t *d)
M_bool M_llist_remove_node(M_llist_node_t *n)
void * M_llist_node_val(const M_llist_node_t *n)
@ M_LLIST_NONE
Definition: m_llist.h:105
@ M_LLIST_CIRCULAR
Definition: m_llist.h:108
@ M_LLIST_SORTED
Definition: m_llist.h:106
@ M_LLIST_MATCH_PTR
Definition: m_llist.h:116
@ M_LLIST_MATCH_VAL
Definition: m_llist.h:115
@ M_LLIST_MATCH_ALL
Definition: m_llist.h:117
int(* M_sort_compar_t)(const void *arg1, const void *arg2, void *thunk)
Definition: m_sort.h:78