ACSE 2.0.2
Advanced Compiler System for Education (basic documentation)
Loading...
Searching...
No Matches
list.h
Go to the documentation of this file.
1
3
4#ifndef LIST_H
5#define LIST_H
6
7#include <stdbool.h>
8
33#define INT_TO_LIST_DATA(data) ((void *)((intptr_t)(data)))
34
36#define LIST_DATA_TO_INT(data) ((int)((intptr_t)(data)))
37
39typedef struct t_listNode {
40 struct t_listNode *next;
42 struct t_listNode *prev;
44 void *data;
46
47
55t_listNode *listInsert(t_listNode *list, void *data, int pos);
56
65
74
83 t_listNode *list, void *data, int (*compareFunc)(void *a, void *b));
84
91
92
98
107
108
116
129 t_listNode *list, void *data, bool (*compareFunc)(void *a, void *b));
130
137
143t_listNode *listGetNodeAt(t_listNode *list, unsigned int position);
144
149
150
155
161
166
171#endif
struct t_listNode * next
Definition list.h:40
struct t_listNode * prev
Definition list.h:42
void * data
Pointer to the data associated to this node.
Definition list.h:44
t_listNode * listGetNodeAt(t_listNode *list, unsigned int position)
t_listNode * listInsertBefore(t_listNode *list, t_listNode *listPos, void *data)
t_listNode * listFindAndRemove(t_listNode *list, void *data)
int listNodePosition(t_listNode *list, t_listNode *element)
t_listNode * listInsertAfter(t_listNode *list, t_listNode *listPos, void *data)
t_listNode * listClone(t_listNode *list)
t_listNode * listInsert(t_listNode *list, void *data, int pos)
t_listNode * listFind(t_listNode *list, void *data)
int listLength(t_listNode *list)
t_listNode * deleteList(t_listNode *list)
t_listNode * listFindWithCallback(t_listNode *list, void *data, bool(*compareFunc)(void *a, void *b))
t_listNode * listRemoveNode(t_listNode *list, t_listNode *element)
t_listNode * listAppendList(t_listNode *list, t_listNode *elements)
t_listNode * listInsertSorted(t_listNode *list, void *data, int(*compareFunc)(void *a, void *b))
t_listNode * listGetLastNode(t_listNode *list)
A node belonging a list.
Definition list.h:39