steal a linked list implementation

This commit is contained in:
2023-12-21 18:26:44 +01:00
parent b49b728a4c
commit 76c620c142
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