14#include "dist/sds/sds.h"
77 const char *value_p,
void *user_data);
79 const char *value_p,
size_t value_len,
void *user_data);
81 const char *value_p,
void *user_data);
84 const char *value_p,
void *user_data);
86 const char *value_p,
size_t value_len,
void *user_data);
void list_free_user_data(struct t_list *l, user_data_callback free_cb)
Definition list.c:127
bool list_shuffle(struct t_list *l)
Definition list.c:318
bool list_swap_item(struct t_list_node *n1, struct t_list_node *n2)
Definition list.c:287
bool list_sort_by_key(struct t_list *l, enum list_sort_direction direction)
Definition list.c:827
bool list_replace_len(struct t_list *l, unsigned idx, const char *key, size_t key_len, int64_t value_i, const char *value_p, size_t value_len, void *user_data)
Definition list.c:448
list_sort_direction
Definition list.h:41
bool list_sort_by_value_p(struct t_list *l, enum list_sort_direction direction)
Definition list.c:817
bool list_sort_by_callback(struct t_list *l, enum list_sort_direction direction, list_sort_callback sort_cb)
Definition list.c:777
bool list_replace(struct t_list *l, unsigned idx, const char *key, int64_t value_i, const char *value_p, void *user_data)
Definition list.c:425
unsigned list_get_node_idx(const struct t_list *l, const char *key)
Definition list.c:163
bool list_move_item_pos(struct t_list *l, unsigned from, unsigned to)
Definition list.c:235
bool list_remove_node(struct t_list *l, unsigned idx)
Definition list.c:556
bool list_remove_node_by_key_user_data(struct t_list *l, const char *key, user_data_callback free_cb)
Definition list.c:594
bool list_write_to_disk(sds filepath, struct t_list *l, list_node_to_line_callback node_to_line_cb)
Definition list.c:666
void * list_node_free_user_data(struct t_list_node *n, user_data_callback free_cb)
Definition list.c:533
void list_free_void(void *l)
Definition list.c:100
bool list_replace_user_data(struct t_list *l, unsigned idx, const char *key, int64_t value_i, const char *value_p, void *user_data, user_data_callback free_cb)
Definition list.c:467
struct t_list * list_dup(struct t_list *l)
Definition list.c:39
struct t_list_node * list_node_extract(struct t_list *l, unsigned idx)
Definition list.c:623
void list_clear(struct t_list *l)
Definition list.c:80
void * list_node_free(struct t_list_node *n)
Definition list.c:522
struct t_list_node * list_shift_first(struct t_list *l)
Definition list.c:613
void list_crop(struct t_list *l, unsigned length, user_data_callback free_cb)
Definition list.c:698
void list_free_cb_sds_user_data(struct t_list_node *current)
Definition list.c:145
struct t_list_node * list_node_at(const struct t_list *l, unsigned idx)
Definition list.c:223
void list_free(struct t_list *l)
Definition list.c:88
bool list_push_len(struct t_list *l, const char *key, size_t key_len, int64_t value_i, const char *value_p, size_t value_len, void *user_data)
Definition list.c:359
bool list_remove_node_by_key(struct t_list *l, const char *key)
Definition list.c:583
struct t_list_node * list_node_prev_at(const struct t_list *l, unsigned idx, struct t_list_node **previous)
Definition list.c:200
bool list_append(struct t_list *dst, struct t_list *src)
Definition list.c:55
void list_clear_user_data(struct t_list *l, user_data_callback free_cb)
Definition list.c:110
struct t_list_node * list_get_node(const struct t_list *l, const char *key)
Definition list.c:182
void list_free_cb_ptr_user_data(struct t_list_node *current)
Definition list.c:153
void list_free_cb_ignore_user_data(struct t_list_node *current)
Definition list.c:136
void list_init(struct t_list *l)
Definition list.c:70
sds(* list_node_to_line_callback)(sds buffer, struct t_list_node *current, bool newline)
Definition list.h:54
bool list_replace_len_user_data(struct t_list *l, unsigned idx, const char *key, size_t key_len, int64_t value_i, const char *value_p, size_t value_len, void *user_data, user_data_callback free_cb)
Definition list.c:488
bool(* list_sort_callback)(struct t_list_node *current, struct t_list_node *next, enum list_sort_direction direction)
Definition list.h:59
bool list_remove_node_user_data(struct t_list *l, unsigned idx, user_data_callback free_cb)
Definition list.c:567
bool list_sort_by_value_i(struct t_list *l, enum list_sort_direction direction)
Definition list.c:807
bool list_insert(struct t_list *l, const char *key, int64_t value_i, const char *value_p, void *user_data)
Definition list.c:393
void(* user_data_callback)(struct t_list_node *current)
Definition list.h:49
bool list_push(struct t_list *l, const char *key, int64_t value_i, const char *value_p, void *user_data)
Definition list.c:340
struct t_list * list_new(void)
Definition list.c:27
void * user_data
custom data
Definition list.h:25
sds key
key string
Definition list.h:22
struct t_list_node * next
pointer to next node
Definition list.h:26
sds value_p
string value
Definition list.h:23
int64_t value_i
unsigned unsigned value
Definition list.h:24
struct t_list_node * tail
pointer to last node
Definition list.h:35
unsigned length
length of the list
Definition list.h:33
struct t_list_node * head
pointer to first node
Definition list.h:34