3#ifndef ENGINE_SHARED_MEMHEAP_H
4#define ENGINE_SHARED_MEMHEAP_H
36 void *
Allocate(
unsigned Size,
unsigned Alignment =
alignof(std::max_align_t));
39 template<
typename T,
typename... TArgs>
42 return new(
Allocate(
sizeof(T),
alignof(T))) T(std::forward<TArgs>(Args)...);
@ CHUNK_SIZE
Definition: memheap.h:23
void Clear()
Definition: memheap.cpp:64
CHeap()
Definition: memheap.cpp:46
void Reset()
Definition: memheap.cpp:57
void NewChunk(size_t ChunkSize)
Definition: memheap.cpp:12
T * Allocate(TArgs &&... Args)
Definition: memheap.h:40
void * AllocateFromChunk(unsigned int Size, unsigned Alignment)
Definition: memheap.cpp:29
void * Allocate(unsigned Size, unsigned Alignment=alignof(std::max_align_t))
Definition: memheap.cpp:75
~CHeap()
Definition: memheap.cpp:52
CChunk * m_pCurrent
Definition: memheap.h:26
const char * StoreString(const char *pSrc)
Definition: memheap.cpp:91
char * m_pCurrent
Definition: memheap.h:15
char * m_pMemory
Definition: memheap.h:14
char * m_pEnd
Definition: memheap.h:16
CChunk * m_pNext
Definition: memheap.h:17