37 lines
962 B
C
37 lines
962 B
C
|
#ifndef _INCLUDE_KNIGHT_KE_LUMP_ALLOCATOR_H_
|
||
|
#define _INCLUDE_KNIGHT_KE_LUMP_ALLOCATOR_H_
|
||
|
|
||
|
#include <KeLinking.h>
|
||
|
#include <KnightAllocator.h>
|
||
|
|
||
|
namespace Knight
|
||
|
{
|
||
|
/**
|
||
|
* @brief Creates a new lump allocator.
|
||
|
*
|
||
|
* The lump allocator is intended for cases where there are many allocations
|
||
|
* and none need to be freed. There is memory wastage, and the lump allocator
|
||
|
* is typically thrown away after use.
|
||
|
*
|
||
|
* @return New lump allocator.
|
||
|
*/
|
||
|
extern ke_allocator_t * KE_CreateLumpAllocator();
|
||
|
|
||
|
/**
|
||
|
* @brief Destroys a lump allocator, freeing all of its resources.
|
||
|
*
|
||
|
* @param lump Lump allocator.
|
||
|
*/
|
||
|
extern void KE_DestroyLumpAllocator(ke_allocator_t *alloc);
|
||
|
|
||
|
/**
|
||
|
* @brief Clears a lump allocator, so its memory can be re-used from
|
||
|
* the start.
|
||
|
*
|
||
|
* @param lump Lump allocator.
|
||
|
*/
|
||
|
extern void KE_ResetLumpAllocator(ke_allocator_t *alloc);
|
||
|
}
|
||
|
|
||
|
#endif //_INCLUDE_KNIGHT_KE_LUMP_ALLOCATOR_H_
|