CommonLibVR
IMemoryStore.h
Go to the documentation of this file.
1 #pragma once
2 
4 
5 namespace RE
6 {
8  {
9  public:
10  inline static constexpr auto RTTI = RTTI_IMemoryStore;
11  inline static constexpr auto VTABLE = VTABLE_IMemoryStore;
12 
13  ~IMemoryStore() override = default; // 00
14 
15  // add
16  virtual void* AllocateAlignImpl(std::size_t a_size, std::uint32_t a_alignment) = 0; // 04
17  virtual void DeallocateAlignImpl(void*& a_block) = 0; // 05
18  virtual void* TryAllocateImpl([[maybe_unused]] std::size_t a_size, [[maybe_unused]] std::uint32_t a_alignment) { return nullptr; } // 06
19 
20  void* AllocateAlign(std::size_t a_size, std::uint32_t a_alignment);
21  void DeallocateAlign(void*& a_freeBlock);
22  };
23  static_assert(sizeof(IMemoryStore) == 0x8);
24 }
Definition: IMemoryStoreBase.h:20
Definition: IMemoryStore.h:8
void DeallocateAlign(void *&a_freeBlock)
virtual void * AllocateAlignImpl(std::size_t a_size, std::uint32_t a_alignment)=0
~IMemoryStore() override=default
virtual void DeallocateAlignImpl(void *&a_block)=0
virtual void * TryAllocateImpl([[maybe_unused]] std::size_t a_size, [[maybe_unused]] std::uint32_t a_alignment)
Definition: IMemoryStore.h:18
void * AllocateAlign(std::size_t a_size, std::uint32_t a_alignment)
static constexpr auto VTABLE
Definition: IMemoryStore.h:11
static constexpr auto RTTI
Definition: IMemoryStore.h:10
Definition: AbsorbEffect.h:6
constexpr std::array< REL::ID, 1 > VTABLE_IMemoryStore
Definition: Offsets_VTABLE.h:11806
constexpr REL::ID RTTI_IMemoryStore(static_cast< std::uint64_t >(690279))