7    enum class MEM_CONTEXT : std::int32_t;
 
   43        [[nodiscard]] 
virtual const char*   
GetName() 
const = 0;                                                      
 
   44        virtual void*                       
Allocate(std::size_t a_size, std::uint32_t a_alignment) = 0;              
 
   47        virtual std::size_t                 
TotalSize(
const void* a_pointer) 
const = 0;                               
 
Definition: IMemoryHeap.h:31
 
void * AllocateAlignImpl(std::size_t a_size, std::uint32_t a_alignment) override
Definition: IMemoryHeap.h:39
 
void DeallocateAlignImpl(void *&a_block) override
Definition: IMemoryHeap.h:40
 
~IMemoryHeap() override=default
 
virtual bool ShouldTrySmallBlockPools(std::size_t a_size, MEM_CONTEXT a_context)=0
 
virtual std::size_t TotalSize(const void *a_pointer) const =0
 
virtual const char * GetName() const =0
 
virtual std::uint32_t GetPageSize() const =0
 
virtual bool PointerInHeap(const void *a_pointer) const =0
 
virtual void Deallocate(void *a_mem, std::uint32_t)=0
 
bool ContainsBlockImpl(const void *a_block) const override
Definition: IMemoryHeap.h:38
 
static constexpr auto RTTI
Definition: IMemoryHeap.h:33
 
virtual void GetHeapStats(HeapStats *a_stats, bool a_fullBlockInfo)=0
 
virtual void * Allocate(std::size_t a_size, std::uint32_t a_alignment)=0
 
Definition: IMemoryStore.h:8
 
Definition: AbsorbEffect.h:6
 
constexpr REL::ID RTTI_IMemoryHeap
Definition: Offsets_RTTI.h:4950
 
Definition: IMemoryHeap.h:10
 
std::size_t smallestFreeBlock
Definition: IMemoryHeap.h:21
 
std::size_t totalFree
Definition: IMemoryHeap.h:26
 
std::size_t memFreeInBlocks
Definition: IMemoryHeap.h:19
 
std::int32_t numFreeBlocks
Definition: IMemoryHeap.h:18
 
std::size_t memUsedInBlocks
Definition: IMemoryHeap.h:20
 
const char * heapName
Definition: IMemoryHeap.h:13
 
std::size_t memHeapSize
Definition: IMemoryHeap.h:14
 
std::size_t blockOverhead
Definition: IMemoryHeap.h:25
 
std::size_t memHeapCommitted
Definition: IMemoryHeap.h:15
 
std::size_t heapOverhead
Definition: IMemoryHeap.h:23
 
std::int32_t numBlocks
Definition: IMemoryHeap.h:17
 
std::size_t memAllocatedToBlocks
Definition: IMemoryHeap.h:16
 
std::size_t largestFreeBlock
Definition: IMemoryHeap.h:22
 
std::size_t freeListOverhead
Definition: IMemoryHeap.h:24