CommonLibVR
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 inline static constexpr auto VTABLE = VTABLE_MemoryHeap;
12
13 ~MemoryHeap() override; // 00
14
15 // override (AbstractHeap)
16 std::size_t Size(const void* a_block) const override; // 01
17 void* Allocate(std::size_t a_size, std::uint32_t a_alignment) override; // 08
18 void Deallocate(void* a_pointer, std::uint32_t) override; // 09
19 std::size_t TotalSize(const void* a_pointer) const override; // 0B
20 void GetHeapStats(HeapStats* a_stats, bool a_fullBlockInfo) override; // 0C
21 void* DoHeapAllocation(std::size_t a_size, std::size_t a_initialSize) override; // 0F
22 void DoHeapFree(void* a_ptr) override; // 10
23 std::size_t CreateMorePages(void* a_memory, std::size_t a_currentSize, std::size_t a_requestedBytes) override; // 11
24 std::size_t CleanExtraPages(void* a_memory, std::size_t a_currentSize, std::size_t a_freeBytes) override; // 12
25 void DecommitPages(HeapBlock* a_block) override; // 13
26
27 // members
28 bool deletingHeap; // 2A8
29 std::uint8_t pad2A9; // 2A9
30 std::uint16_t pad2AA; // 2AA
31 std::uint32_t pad2AC; // 2AC
32 private:
34 };
35 static_assert(sizeof(MemoryHeap) == 0x2B0);
36}
#define KEEP_FOR_RE()
Definition PCH.h:517
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:31
static constexpr auto VTABLE
Definition MemoryHeap.h:11
std::size_t TotalSize(const void *a_pointer) const override
std::uint16_t pad2AA
Definition MemoryHeap.h:30
void DecommitPages(HeapBlock *a_block) override
void GetHeapStats(HeapStats *a_stats, bool a_fullBlockInfo) override
bool deletingHeap
Definition MemoryHeap.h:28
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:29
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 std::array< REL::ID, 1 > VTABLE_MemoryHeap
Definition Offsets_VTABLE.h:11999
constexpr REL::ID RTTI_MemoryHeap(static_cast< std::uint64_t >(690285))
Definition IMemoryHeap.h:10