CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine::Arena< N, Alignment > Class Template Reference

#include <CeresEngine/Foundation/Allocator.hpp>

Public Member Functions

 ~Arena ()
 
 Arena () noexcept
 
 Arena (const Arena &)=delete
 
Arenaoperator= (const Arena &)=delete
 
template<std::size_t ReqAlign>
charallocate (std::size_t n)
 
void deallocate (char *p, std::size_t n) noexcept
 
std::size_t used () const noexcept
 
void reset () noexcept
 

Static Public Member Functions

static constexpr std::size_t size () noexcept
 

Private Member Functions

bool pointer_in_buffer (char *p) noexcept
 

Static Private Member Functions

static std::size_t align_up (const std::size_t n) noexcept
 

Private Attributes

char mBuffer [N]
 
charmPointer
 

Constructor & Destructor Documentation

◆ ~Arena()

template<std::size_t N, std::size_t Alignment = alignof(std::max_align_t)>
CeresEngine::Arena< N, Alignment >::~Arena ( )
inline

◆ Arena() [1/2]

template<std::size_t N, std::size_t Alignment = alignof(std::max_align_t)>
CeresEngine::Arena< N, Alignment >::Arena ( )
inlinenoexcept

◆ Arena() [2/2]

template<std::size_t N, std::size_t Alignment = alignof(std::max_align_t)>
CeresEngine::Arena< N, Alignment >::Arena ( const Arena< N, Alignment > &  )
delete

Member Function Documentation

◆ align_up()

template<std::size_t N, std::size_t Alignment = alignof(std::max_align_t)>
static std::size_t CeresEngine::Arena< N, Alignment >::align_up ( const std::size_t  n)
inlinestaticprivatenoexcept

◆ allocate()

template<std::size_t N, std::size_t Alignment>
template<std::size_t ReqAlign>
char * CeresEngine::Arena< N, Alignment >::allocate ( std::size_t  n)

◆ deallocate()

template<std::size_t N, std::size_t Alignment>
void CeresEngine::Arena< N, Alignment >::deallocate ( char p,
std::size_t  n 
)
noexcept

◆ operator=()

template<std::size_t N, std::size_t Alignment = alignof(std::max_align_t)>
Arena & CeresEngine::Arena< N, Alignment >::operator= ( const Arena< N, Alignment > &  )
delete

◆ pointer_in_buffer()

template<std::size_t N, std::size_t Alignment = alignof(std::max_align_t)>
bool CeresEngine::Arena< N, Alignment >::pointer_in_buffer ( char p)
inlineprivatenoexcept

◆ reset()

template<std::size_t N, std::size_t Alignment = alignof(std::max_align_t)>
void CeresEngine::Arena< N, Alignment >::reset ( )
inlinenoexcept

◆ size()

template<std::size_t N, std::size_t Alignment = alignof(std::max_align_t)>
static constexpr std::size_t CeresEngine::Arena< N, Alignment >::size ( )
inlinestaticconstexprnoexcept

◆ used()

template<std::size_t N, std::size_t Alignment = alignof(std::max_align_t)>
std::size_t CeresEngine::Arena< N, Alignment >::used ( ) const
inlinenoexcept

Member Data Documentation

◆ mBuffer

template<std::size_t N, std::size_t Alignment = alignof(std::max_align_t)>
char CeresEngine::Arena< N, Alignment >::mBuffer[N]
private

◆ mPointer

template<std::size_t N, std::size_t Alignment = alignof(std::max_align_t)>
char* CeresEngine::Arena< N, Alignment >::mPointer
private

The documentation for this class was generated from the following file: