CommonLibSSE NG
IMemoryStoreBase.h
Go to the documentation of this file.
1 #pragma once
2 
3 namespace RE
4 {
5  struct MemoryStats
6  {
7  public:
8  // members
9  const char* name; // 00
10  std::size_t usedSize; // 08
11  std::size_t committedSize; // 10
12  std::size_t reservedSize; // 18
13  std::uint32_t overhead; // 20
14  std::uint32_t pad24; // 24
15  std::size_t freeSize; // 28
16  };
17  static_assert(sizeof(MemoryStats) == 0x30);
18 
20  {
21  public:
22  inline static constexpr auto RTTI = RTTI_IMemoryStoreBase;
23 
24  virtual ~IMemoryStoreBase() = default; // 00
25 
26  // add
27  virtual std::size_t Size(const void* a_mem) const = 0; // 01
28  virtual void GetMemoryStats(MemoryStats* a_stats) = 0; // 02
29  virtual bool ContainsBlockImpl(const void* a_block) const = 0; // 03
30  };
31  static_assert(sizeof(IMemoryStoreBase) == 0x8);
32 }
Definition: IMemoryStoreBase.h:20
virtual void GetMemoryStats(MemoryStats *a_stats)=0
virtual std::size_t Size(const void *a_mem) const =0
virtual ~IMemoryStoreBase()=default
static constexpr auto RTTI
Definition: IMemoryStoreBase.h:22
virtual bool ContainsBlockImpl(const void *a_block) const =0
Definition: AbsorbEffect.h:6
constexpr REL::VariantID RTTI_IMemoryStoreBase(690280, 398135, 0x1f5f4a8)
Definition: IMemoryStoreBase.h:6
std::uint32_t pad24
Definition: IMemoryStoreBase.h:14
std::size_t committedSize
Definition: IMemoryStoreBase.h:11
std::uint32_t overhead
Definition: IMemoryStoreBase.h:13
std::size_t freeSize
Definition: IMemoryStoreBase.h:15
const char * name
Definition: IMemoryStoreBase.h:9
std::size_t usedSize
Definition: IMemoryStoreBase.h:10
std::size_t reservedSize
Definition: IMemoryStoreBase.h:12