steal a linked list implementation

This commit is contained in:
Zvonimir Rudinski
2023-12-21 18:26:44 +01:00
parent aa851fad3a
commit 1a45b1e219
5 changed files with 182 additions and 45 deletions

21
engine/llist.h Normal file
View File

@@ -0,0 +1,21 @@
#ifndef LLIST_H
#define LLIST_H
#include "todo.h"
/* llist.h
* Generic Linked List
*/
typedef struct Node {
TodoItem *item;
struct Node *next;
} TodoItemNode;
typedef TodoItemNode *llist;
llist *llist_create(TodoItem *item);
void llist_free(llist *list);
void llist_push(llist *list, TodoItem *item);
TodoItem *llist_pop(llist *list);
void llist_print(llist *list, void (*print)(TodoItem *item));
unsigned int llist_length(llist *list);
#endif