blob: 85e3e3f14ec3260ab1fa3a98a1ef188aeade8796 (
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
|
#ifndef KITLIST_H
#define KITLIST_H
#include "kitchensink/kitconfig.h"
typedef struct Kit_List Kit_List;
typedef void (*Kit_ListFreeCallback)(void*);
struct Kit_List {
unsigned int size;
unsigned int length;
Kit_ListFreeCallback free_cb;
void **data;
};
KIT_LOCAL Kit_List* Kit_CreateList(unsigned int size, Kit_ListFreeCallback free_cb);
KIT_LOCAL void Kit_DestroyList(Kit_List *list);
KIT_LOCAL void Kit_ClearList(Kit_List *list);
KIT_LOCAL void Kit_RemoveFromList(Kit_List *list, unsigned int iterator);
KIT_LOCAL void* Kit_IterateList(const Kit_List *list, unsigned int *iterator);
KIT_LOCAL int Kit_WriteList(Kit_List *list, void *ptr);
KIT_LOCAL int Kit_GetListLength(const Kit_List *list);
#endif // KITLIST_H
|