CommonLibSSE (powerof3)
MemoryHeap.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/A/AbstractHeap.h"
4 
5 namespace 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
~MemoryHeap() override
std::uint32_t pad2AC
Definition: MemoryHeap.h:30
void * Allocate(std::size_t a_size, std::uint32_t a_alignment) override
void * DoHeapAllocation(std::size_t a_size, std::size_t a_initialSize) override
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 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::ID RTTI_MemoryHeap
Definition: Offsets_RTTI.h:5151
Definition: IMemoryHeap.h:10