Mercurial > hg > th-libs
comparison th_datastruct.h @ 627:964657ad0960
Indentation cosmetics.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Fri, 17 Jan 2020 19:14:36 +0200 |
parents | 98c8bd80f633 |
children | b695eb769e30 |
comparison
equal
deleted
inserted
replaced
626:98c8bd80f633 | 627:964657ad0960 |
---|---|
23 struct _th_llist_t *prev, *next; | 23 struct _th_llist_t *prev, *next; |
24 void *data; // Pointer to data payload of this node | 24 void *data; // Pointer to data payload of this node |
25 } th_llist_t; | 25 } th_llist_t; |
26 | 26 |
27 | 27 |
28 th_llist_t * th_llist_new(void *data); | 28 th_llist_t * th_llist_new(void *data); |
29 void th_llist_free(th_llist_t *list); | 29 void th_llist_free(th_llist_t *list); |
30 void th_llist_free_func_data(th_llist_t *list, void (*freefunc)(void *data)); | 30 void th_llist_free_func_data(th_llist_t *list, void (*freefunc)(void *data)); |
31 void th_llist_free_func_node(th_llist_t *list, void (*freefunc)(th_llist_t *node)); | 31 void th_llist_free_func_node(th_llist_t *list, void (*freefunc)(th_llist_t *node)); |
32 | 32 |
33 void th_llist_append_node(th_llist_t **list, th_llist_t *node); | 33 void th_llist_append_node(th_llist_t **list, th_llist_t *node); |
34 th_llist_t * th_llist_append(th_llist_t **list, void *data); | 34 th_llist_t * th_llist_append(th_llist_t **list, void *data); |
35 void th_llist_prepend_node(th_llist_t **list, th_llist_t *node); | 35 void th_llist_prepend_node(th_llist_t **list, th_llist_t *node); |
36 th_llist_t * th_llist_prepend(th_llist_t **list, void *data); | 36 th_llist_t * th_llist_prepend(th_llist_t **list, void *data); |
37 void th_llist_delete(th_llist_t **list, const void *data); | 37 void th_llist_delete(th_llist_t **list, const void *data); |
38 void th_llist_delete_node(th_llist_t **list, th_llist_t *node); | 38 void th_llist_delete_node(th_llist_t **list, th_llist_t *node); |
39 void th_llist_delete_node_fast(th_llist_t **list, th_llist_t *node); | 39 void th_llist_delete_node_fast(th_llist_t **list, th_llist_t *node); |
40 | 40 |
41 th_llist_t * th_llist_get_nth(th_llist_t *list, const size_t n); | 41 th_llist_t * th_llist_get_nth(th_llist_t *list, const size_t n); |
42 size_t th_llist_length(const th_llist_t *list); | 42 size_t th_llist_length(const th_llist_t *list); |
43 ssize_t th_llist_position(const th_llist_t *list, const th_llist_t *node); | 43 ssize_t th_llist_position(const th_llist_t *list, const th_llist_t *node); |
44 | 44 |
45 void th_llist_foreach(th_llist_t *list, void (*func)(th_llist_t *node, void *userdata), void *data); | 45 void th_llist_foreach(th_llist_t *list, void (*func)(th_llist_t *node, void *userdata), void *data); |
46 int th_llist_foreach_cond(th_llist_t *list, int (*func)(th_llist_t *node, void *userdata), void *data, th_llist_t **res); | 46 int th_llist_foreach_cond(th_llist_t *list, int (*func)(th_llist_t *node, void *userdata), void *data, th_llist_t **res); |
47 | 47 |
48 th_llist_t * th_llist_find(th_llist_t *list, const void *data); | 48 th_llist_t * th_llist_find(th_llist_t *list, const void *data); |
49 th_llist_t * th_llist_find_func(th_llist_t *list, const void *userdata, int (compare)(const void *, const void *)); | 49 th_llist_t * th_llist_find_func(th_llist_t *list, const void *userdata, int (compare)(const void *, const void *)); |
50 | 50 |
51 | 51 |
52 /* Ringbuffer implementation | 52 /* Ringbuffer implementation |
53 */ | 53 */ |
54 typedef struct | 54 typedef struct |
56 char **data; | 56 char **data; |
57 size_t n, size; | 57 size_t n, size; |
58 void (*deallocator)(void *data); | 58 void (*deallocator)(void *data); |
59 } th_ringbuf_t; | 59 } th_ringbuf_t; |
60 | 60 |
61 th_ringbuf_t * th_ringbuf_new(const size_t size, void (*mdeallocator)(void *)); | 61 |
62 BOOL th_ringbuf_grow(th_ringbuf_t *buf, const size_t n); | 62 th_ringbuf_t * th_ringbuf_new(const size_t size, void (*mdeallocator)(void *data)); |
63 void th_ringbuf_free(th_ringbuf_t *buf); | 63 BOOL th_ringbuf_grow(th_ringbuf_t *buf, const size_t n); |
64 void th_ringbuf_add(th_ringbuf_t *buf, void *ptr); | 64 void th_ringbuf_free(th_ringbuf_t *buf); |
65 void th_ringbuf_add(th_ringbuf_t *buf, void *ptr); | |
65 | 66 |
66 | 67 |
67 /* Growing buffers | 68 /* Growing buffers |
68 */ | 69 */ |
69 #define TH_BUFGROW (32) | 70 #define TH_BUFGROW (32) |