Stardew Engine
Loading...
Searching...
No Matches
DynArray.h
Go to the documentation of this file.
1#ifndef DYNARRAY_H
2#define DYNARRAY_H
3#ifdef __cplusplus
4extern "C"{
5#endif
6
7
8#include "IntTypes.h"
9
10void* VectorInit(unsigned int itemSize);
11void* VectorResize(void* vector, unsigned int size);
12void* VectorPush(void* vector, void* item);
13void* VectorPop(void* vector);
14void* VectorTop(void* vector);
15void* VectorClear(void* vector);
16
17
18//unsigned int VectorSize(void* vector);
19void DestoryVector(void* vector);
20
29
30#define VectorSize(vector) ((((VectorData*)vector) - 1)->size)
31#define VectorData_DEBUG(vector)(((VectorData*)vector) - 1)
32
33#define NEW_VECTOR(a) ((a*)VectorInit(sizeof(a)));
34#define VECTOR(a) a*
35
36#ifdef __cplusplus
37}
38#endif
39
40#endif
void * VectorResize(void *vector, unsigned int size)
Definition DynArray.c:16
void DestoryVector(void *vector)
Definition DynArray.c:84
void * VectorPush(void *vector, void *item)
Definition DynArray.c:44
void * VectorTop(void *vector)
Definition DynArray.c:65
void * VectorInit(unsigned int itemSize)
Definition DynArray.c:7
void * VectorClear(void *vector)
Definition DynArray.c:71
void * VectorPop(void *vector)
Definition DynArray.c:57
uint32_t u32
Definition IntTypes.h:12
cJSON * item
Definition cJSON.h:228
16 byte aligned
Definition DynArray.h:23
u32 _padding
Definition DynArray.h:27
u32 itemSize
Definition DynArray.h:24
u32 size
Definition DynArray.h:26
u32 capacity
Definition DynArray.h:25