summaryrefslogtreecommitdiff
path: root/src/ll.h
diff options
context:
space:
mode:
author@syxhe <https://t.me/syxhe>2025-04-21 21:26:23 -0500
committer@syxhe <https://t.me/syxhe>2025-04-21 21:26:23 -0500
commit521e9a2fc8e0ef1dffe4e590d0d4f65292f0d1df (patch)
treeb85e149b645dcdaa4ef2a7345a4898c39a683f8d /src/ll.h
parent9cf4667331b97f1123f4156273a46558e27c2d2d (diff)
Implement a Concurrent Queue
Diffstat (limited to 'src/ll.h')
-rw-r--r--src/ll.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/ll.h b/src/ll.h
index 3636e77..4b5a2df 100644
--- a/src/ll.h
+++ b/src/ll.h
@@ -25,6 +25,7 @@ typedef void (*dll_freecb)(void*);
25typedef struct dlinked dlinkedlist; 25typedef struct dlinked dlinkedlist;
26 26
27#ifndef __VXGG_REWRITE___LL_INTERNAL___ 27#ifndef __VXGG_REWRITE___LL_INTERNAL___
28
28dlinkedlist * dlinkedlist_init(void); 29dlinkedlist * dlinkedlist_init(void);
29void dlinkedlist_free(dlinkedlist *ll); 30void dlinkedlist_free(dlinkedlist *ll);
30int dlinkedlist_append(dlinkedlist * const ll, void *data, dll_freecb fcb); 31int dlinkedlist_append(dlinkedlist * const ll, void *data, dll_freecb fcb);
@@ -32,11 +33,13 @@ int dlinkedlist_prepend(dlinkedlist * const ll, void *data, dll_freecb fcb);
32int dlinkedlist_insert(dlinkedlist * const ll, void *data, dll_freecb fcb, int index); 33int dlinkedlist_insert(dlinkedlist * const ll, void *data, dll_freecb fcb, int index);
33void* dlinkedlist_get(const dlinkedlist * const ll, int index); 34void* dlinkedlist_get(const dlinkedlist * const ll, int index);
34int dlinkedlist_remove(dlinkedlist * const ll, int index); 35int dlinkedlist_remove(dlinkedlist * const ll, int index);
36void * dlinkedlist_poplast(dlinkedlist *ll);
35 37
36int dlinkedlist_size(const dlinkedlist * const ll); 38int dlinkedlist_size(const dlinkedlist * const ll);
37#define dlinkedlist_isempty(ll) (dlinkedlist_size((ll)) == 0) 39#define dlinkedlist_isempty(ll) (dlinkedlist_size((ll)) == 0)
38 40
39int dlinkedlist_foreach(dlinkedlist *ll, int (*callback)(void*)); 41int dlinkedlist_foreach(dlinkedlist *ll, int (*callback)(void*));
42
40#endif 43#endif
41 44
42#endif \ No newline at end of file 45#endif \ No newline at end of file