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::VariantID RTTI_IMemoryHeap(690287, 398142, 0x1f5f5e8)
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