Files
PixelDefense/engine/breeze/utils/object_pool.h

22 lines
586 B
C

#ifndef BREEZE_OBJECT_POOL_H
#define BREEZE_OBJECT_POOL_H
#include "../defines.h"
typedef struct BzObjectPool BzObjectPool;
typedef struct BzObjectPoolDesc {
size_t objectSize;
size_t numObjects;
} BzObjectPoolDesc;
BzObjectPool *bzObjectPoolCreate(const BzObjectPoolDesc *desc);
void bzObjectPoolDestroy(BzObjectPool *pool);
void *bzObjectPool(BzObjectPool *pool);
void *bzObjectPoolGetObject(BzObjectPool *pool, i32 idx);
i32 bzObjectPoolGetIdx(BzObjectPool *pool, void *object);
void bzObjectPoolRelease(BzObjectPool *pool, void *object);
#endif //BREEZE_OBJECT_POOL_H