diff options
Diffstat (limited to 'lib/list.h')
-rw-r--r-- | lib/list.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/lib/list.h b/lib/list.h new file mode 100644 index 0000000..dd28722 --- /dev/null +++ b/lib/list.h @@ -0,0 +1,29 @@ +#pragma once +#include <stdlib.h> + +#define LIST_SIZE_FACTOR 1.5 +struct list { + unsigned int size; + unsigned int allocated_size; + void** list; +}; + +typedef struct list LIST; + +/** +* Add an item to a list +* @list: array list structure. +* @item: item to be added to the list. +*/ +LIST* list_add(LIST* list, void* item); + +/** +* Remove an item from a given list +* @list: array list structure. +* @pos: position of item to be removed. +*/ +LIST *list_remove(LIST *list, unsigned int pos); + +void list_free(LIST* list); + +void *list_get(LIST *list, unsigned int index); |