File DynArray.h
File List > engine > include > DynArray.h
Go to the documentation of this file
#ifndef DYNARRAY_H
#define DYNARRAY_H
#ifdef __cplusplus
extern "C"{
#endif
#include "IntTypes.h"
void* VectorInit(unsigned int itemSize);
void* VectorResize(void* vector, unsigned int size);
void* VectorPush(void* vector, void* item);
void* VectorPop(void* vector);
void* VectorTop(void* vector);
void* VectorClear(void* vector);
//unsigned int VectorSize(void* vector);
void DestoryVector(void* vector);
typedef struct
{
u32 itemSize;
u32 capacity;
u32 size;
u32 _padding;
} VectorData;
#define VectorSize(vector) ((((VectorData*)vector) - 1)->size)
#define VectorCapacity(vector) ((((VectorData*)vector) - 1)->capacity)
#define VectorData_DEBUG(vector)(((VectorData*)vector) - 1)
#define NEW_VECTOR(a) ((a*)VectorInit(sizeof(a)));
#define VECTOR(a) a*
#ifdef __cplusplus
}
#endif
#endif