sourcemod/knight/shared/KeLumpAllocator.h

37 lines
962 B
C
Raw Normal View History

#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_