aboutsummaryrefslogtreecommitdiff
path: root/list.h
blob: e33bf017753ff3c93db620c320e024cd2b18ec8a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#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);