aboutsummaryrefslogtreecommitdiffstats
path: root/include/vector.h
blob: b665df07db7c21897e5bfbf0a99405a84518c9c5 (plain) (blame)
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
28
29
30
31
32
#ifndef    __vector_h__
#define    __vector_h__

#include "utility.h"

void* ctl_vector_initX(void** ptr, size_t size, uint init_count);
void* ctl_vector_freeX(void** ptr);

int   ctl_vector_addBackX(void** ptr, void* entry);
int   ctl_vector_delBackX(void** ptr);

int   ctl_vector_setSizeX (void** ptr, uint count);
void* ctl_vector_setEntryX(void** ptr, uint index, void* data);

int   ctl_vector_getSizeX     (void** ptr);
void* ctl_vector_getEntryX    (void** ptr, uint index);
int   ctl_vector_getEntrySizeX(void** ptr);

#define ctl_vector_init(X,Y,Z) ctl_vector_initX(ppVOID(X),Y,Z)
#define ctl_vector_free(X)     ctl_vector_freeX(ppVOID(X))

#define ctl_vector_addBack(X,Y) ctl_vector_addBackX(ppVOID(X),pVOID(Y))
#define ctl_vector_delBack(X)   ctl_vector_delBackX(ppVOID(X))

#define ctl_vector_setSize(X,Y)    ctl_vector_setSizeX (ppVOID(X),Y)
#define ctl_vector_setEntry(X,Y,Z) ctl_vector_setEntryX(ppVOID(X),Y,pVOID(Z))

#define ctl_vector_getSize(X)      ctl_vector_getSizeX     (ppVOID(X))
#define ctl_vector_getEntry(X,Y)   ctl_vector_getEntryX    (ppVOID(X),Y)
#define ctl_vector_getEntrySize(X) ctl_vector_getEntrySizeX(ppVOID(X))

#endif  /* __vector_h__ */