14#include "dist/sds/sds.h"
65 const char *value_p,
void *user_data);
67 const char *value_p,
size_t value_len,
void *user_data);
69 const char *value_p,
void *user_data);
72 const char *value_p,
void *user_data);
74 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:141
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:463
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:440
unsigned list_get_node_idx(const struct t_list *l, const char *key)
Definition list.c:177
bool list_remove_node(struct t_list *l, unsigned idx)
Definition list.c:573
bool list_remove_node_by_key_user_data(struct t_list *l, const char *key, user_data_callback free_cb)
Definition list.c:611
bool list_move_node(struct t_list *l, unsigned from, unsigned to)
Definition list.c:296
bool list_write_to_disk(sds filepath, struct t_list *l, list_node_to_line_callback node_to_line_cb)
Definition list.c:707
void * list_node_free_user_data(struct t_list_node *n, user_data_callback free_cb)
Definition list.c:550
void list_free_void(void *l)
Definition list.c:114
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:482
struct t_list * list_dup(struct t_list *l)
Definition list.c:37
void list_clear(struct t_list *l)
Definition list.c:94
void * list_node_free(struct t_list_node *n)
Definition list.c:539
struct t_list_node * list_shift_first(struct t_list *l)
Definition list.c:637
void list_crop(struct t_list *l, unsigned length, user_data_callback free_cb)
Definition list.c:739
struct t_list_node * list_node_extract(struct t_list *l, struct t_list_node *node)
Definition list.c:665
void list_free_cb_sds_user_data(struct t_list_node *current)
Definition list.c:159
struct t_list_node * list_node_at(const struct t_list *l, unsigned idx)
Definition list.c:262
void list_free(struct t_list *l)
Definition list.c:102
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:368
bool list_remove_node_by_key(struct t_list *l, const char *key)
Definition list.c:600
bool list_append(struct t_list *dst, struct t_list *src)
Definition list.c:53
void list_clear_user_data(struct t_list *l, user_data_callback free_cb)
Definition list.c:124
struct t_list_node * list_get_node(const struct t_list *l, const char *key)
Definition list.c:220
void list_free_cb_ptr_user_data(struct t_list_node *current)
Definition list.c:167
struct t_list_node * list_node_extract_at(struct t_list *l, unsigned idx)
Definition list.c:647
void list_free_cb_ignore_user_data(struct t_list_node *current)
Definition list.c:150
void list_init(struct t_list *l)
Definition list.c:84
sds(* list_node_to_line_callback)(sds buffer, struct t_list_node *current, bool newline)
Definition list.h:47
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:503
bool list_remove_node_user_data(struct t_list *l, unsigned idx, user_data_callback free_cb)
Definition list.c:584
bool list_insert(struct t_list *l, const char *key, int64_t value_i, const char *value_p, void *user_data)
Definition list.c:404
void(* user_data_callback)(struct t_list_node *current)
Definition list.h:42
bool list_push(struct t_list *l, const char *key, int64_t value_i, const char *value_p, void *user_data)
Definition list.c:349
struct t_list * list_new(void)
Definition list.c:25
void * user_data
custom data pointer
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
struct t_list_node * prev
pointer to previous node
Definition list.h:27
sds value_p
string value
Definition list.h:23
int64_t value_i
int64 value
Definition list.h:24
struct t_list_node * tail
pointer to last node
Definition list.h:36
unsigned length
length of the list
Definition list.h:34
struct t_list_node * head
pointer to first node
Definition list.h:35