CommonLibSSE NG
Loading...
Searching...
No Matches
MemoryHeap.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/A/AbstractHeap.h"
4
5namespace RE
6{
7 class MemoryHeap : public AbstractHeap
8 {
9 public:
10 inline static constexpr auto RTTI = RTTI_MemoryHeap;
11
12 ~MemoryHeap() override; // 00
13
14 // override (AbstractHeap)
15 std::size_t Size(const void* a_block) const override; // 01
16 void* Allocate(std::size_t a_size, std::uint32_t a_alignment) override; // 08
17 void Deallocate(void* a_pointer, std::uint32_t) override; // 09
18 std::size_t TotalSize(const void* a_pointer) const override; // 0B
19 void GetHeapStats(HeapStats* a_stats, bool a_fullBlockInfo) override; // 0C
20 void* DoHeapAllocation(std::size_t a_size, std::size_t a_initialSize) override; // 0F
21 void DoHeapFree(void* a_ptr) override; // 10
22 std::size_t CreateMorePages(void* a_memory, std::size_t a_currentSize, std::size_t a_requestedBytes) override; // 11
23 std::size_t CleanExtraPages(void* a_memory, std::size_t a_currentSize, std::size_t a_freeBytes) override; // 12
24 void DecommitPages(HeapBlock* a_block) override; // 13
25
26 // members
27 bool deletingHeap; // 2A8
28 std::uint8_t pad2A9; // 2A9
29 std::uint16_t pad2AA; // 2AA
30 std::uint32_t pad2AC; // 2AC
31 };
32 static_assert(sizeof(MemoryHeap) == 0x2B0);
33}
Definition AbstractHeap.h:12
Definition HeapBlock.h:6
Definition MemoryHeap.h:8
void DoHeapFree(void *a_ptr) override
std::size_t CleanExtraPages(void *a_memory, std::size_t a_currentSize, std::size_t a_freeBytes) override
void * DoHeapAllocation(std::size_t a_size, std::size_t a_initialSize) override
~MemoryHeap() override
std::uint32_t pad2AC
Definition MemoryHeap.h:30
std::size_t TotalSize(const void *a_pointer) const override
std::uint16_t pad2AA
Definition MemoryHeap.h:29
void DecommitPages(HeapBlock *a_block) override
void GetHeapStats(HeapStats *a_stats, bool a_fullBlockInfo) override
bool deletingHeap
Definition MemoryHeap.h:27
static constexpr auto RTTI
Definition MemoryHeap.h:10
std::size_t Size(const void *a_block) const override
std::uint8_t pad2A9
Definition MemoryHeap.h:28
void * Allocate(std::size_t a_size, std::uint32_t a_alignment) override
void Deallocate(void *a_pointer, std::uint32_t) override
std::size_t CreateMorePages(void *a_memory, std::size_t a_currentSize, std::size_t a_requestedBytes) override
Definition AbsorbEffect.h:6
constexpr REL::VariantID RTTI_MemoryHeap(690285, 398140, 0x1f5f598)
Definition IMemoryHeap.h:10