| 
    CommonLibSSE NG
    
   | 
 
#include <AbstractHeap.h>
  
Public Member Functions | |
| ~AbstractHeap () override | |
| void | GetMemoryStats (MemoryStats *a_stats) override | 
| void * | AllocateAlignImpl (std::size_t a_size, std::uint32_t a_alignment) override | 
| void * | TryAllocateImpl (std::size_t a_size, std::uint32_t a_alignment) override | 
| const char * | GetName () const override | 
| bool | PointerInHeap (const void *a_pointer) const override | 
| void | GetHeapStats (HeapStats *a_stats, bool a_fullBlockInfo) override | 
| bool | ShouldTrySmallBlockPools (std::size_t a_size, MEM_CONTEXT a_context) override | 
| std::uint32_t | GetPageSize () const override | 
| virtual void * | DoHeapAllocation (std::size_t a_size, std::size_t a_initialSize)=0 | 
| virtual void | DoHeapFree (void *a_ptr)=0 | 
| virtual std::size_t | CreateMorePages (void *a_memory, std::size_t a_currentSize, std::size_t a_requestedBytes) | 
| virtual std::size_t | CleanExtraPages (void *a_memory, std::size_t a_currentSize, std::size_t a_freeBytes) | 
| virtual void | DecommitPages (HeapBlock *a_block) | 
| virtual void | CommitPages (HeapBlock *, std::size_t) | 
  Public Member Functions inherited from RE::IMemoryHeap | |
| ~IMemoryHeap () override=default | |
| bool | ContainsBlockImpl (const void *a_block) const override | 
| void * | AllocateAlignImpl (std::size_t a_size, std::uint32_t a_alignment) override | 
| void | DeallocateAlignImpl (void *&a_block) override | 
| virtual const char * | GetName () const =0 | 
| virtual void * | Allocate (std::size_t a_size, std::uint32_t a_alignment)=0 | 
| virtual void | Deallocate (void *a_mem, std::uint32_t)=0 | 
| virtual bool | PointerInHeap (const void *a_pointer) const =0 | 
| virtual std::size_t | TotalSize (const void *a_pointer) const =0 | 
| virtual void | GetHeapStats (HeapStats *a_stats, bool a_fullBlockInfo)=0 | 
| virtual bool | ShouldTrySmallBlockPools (std::size_t a_size, MEM_CONTEXT a_context)=0 | 
| virtual std::uint32_t | GetPageSize () const =0 | 
  Public Member Functions inherited from RE::IMemoryStore | |
| ~IMemoryStore () override=default | |
| virtual void * | AllocateAlignImpl (std::size_t a_size, std::uint32_t a_alignment)=0 | 
| virtual void | DeallocateAlignImpl (void *&a_block)=0 | 
| virtual void * | TryAllocateImpl (std::size_t a_size, std::uint32_t a_alignment) | 
| void * | AllocateAlign (std::size_t a_size, std::uint32_t a_alignment) | 
| void | DeallocateAlign (void *&a_freeBlock) | 
  Public Member Functions inherited from RE::IMemoryStoreBase | |
| virtual | ~IMemoryStoreBase ()=default | 
| virtual std::size_t | Size (const void *a_mem) const =0 | 
| virtual void | GetMemoryStats (MemoryStats *a_stats)=0 | 
| virtual bool | ContainsBlockImpl (const void *a_block) const =0 | 
Public Attributes | |
| BSCriticalSection | criticalSection | 
| const char * | name | 
| std::size_t | minFreeBlockSize | 
| std::uint32_t | pageSize | 
| std::uint32_t | pageSizeFlag | 
| std::size_t | memHeapSize | 
| std::size_t | initialSize | 
| std::size_t | currentSize | 
| std::size_t | wastedMemory | 
| std::size_t | memAllocated | 
| std::size_t | memAllocatedHigh | 
| std::size_t | blockMemAllocated | 
| char * | memHeap | 
| std::int32_t | numBlocks | 
| std::uint32_t | pad08C | 
| HeapBlock * | blockHead | 
| HeapBlock * | blockTail | 
| std::int32_t | numFreeBlocks | 
| bool | allowDecommits | 
| bool | supportsSwapping | 
| std::uint16_t | pad0A0 | 
| HeapBlock * | smallFreeLists [32] | 
| HeapBlockFreeHead * | largeFreeTrees [32] | 
Static Public Attributes | |
| static constexpr auto | RTTI = RTTI_AbstractHeap | 
  Static Public Attributes inherited from RE::IMemoryHeap | |
| static constexpr auto | RTTI = RTTI_IMemoryHeap | 
  Static Public Attributes inherited from RE::IMemoryStore | |
| static constexpr auto | RTTI = RTTI_IMemoryStore | 
  Static Public Attributes inherited from RE::IMemoryStoreBase | |
| static constexpr auto | RTTI = RTTI_IMemoryStoreBase | 
      
  | 
  override | 
      
  | 
  overridevirtual | 
Implements RE::IMemoryStore.
      
  | 
  virtual | 
Reimplemented in RE::MemoryHeap.
      
  | 
  virtual | 
      
  | 
  virtual | 
Reimplemented in RE::MemoryHeap.
      
  | 
  virtual | 
Reimplemented in RE::MemoryHeap.
      
  | 
  pure virtual | 
Implemented in RE::MemoryHeap.
      
  | 
  pure virtual | 
Implemented in RE::MemoryHeap.
      
  | 
  overridevirtual | 
Implements RE::IMemoryHeap.
Reimplemented in RE::MemoryHeap.
      
  | 
  overridevirtual | 
Implements RE::IMemoryStoreBase.
      
  | 
  overridevirtual | 
Implements RE::IMemoryHeap.
      
  | 
  overridevirtual | 
Implements RE::IMemoryHeap.
      
  | 
  overridevirtual | 
Implements RE::IMemoryHeap.
      
  | 
  overridevirtual | 
Implements RE::IMemoryHeap.
      
  | 
  overridevirtual | 
Reimplemented from RE::IMemoryStore.
| bool RE::AbstractHeap::allowDecommits | 
| HeapBlock* RE::AbstractHeap::blockHead | 
| std::size_t RE::AbstractHeap::blockMemAllocated | 
| HeapBlock* RE::AbstractHeap::blockTail | 
| BSCriticalSection RE::AbstractHeap::criticalSection | 
| std::size_t RE::AbstractHeap::currentSize | 
| std::size_t RE::AbstractHeap::initialSize | 
| HeapBlockFreeHead* RE::AbstractHeap::largeFreeTrees[32] | 
| std::size_t RE::AbstractHeap::memAllocated | 
| std::size_t RE::AbstractHeap::memAllocatedHigh | 
| char* RE::AbstractHeap::memHeap | 
| std::size_t RE::AbstractHeap::memHeapSize | 
| std::size_t RE::AbstractHeap::minFreeBlockSize | 
| const char* RE::AbstractHeap::name | 
| std::int32_t RE::AbstractHeap::numBlocks | 
| std::int32_t RE::AbstractHeap::numFreeBlocks | 
| std::uint32_t RE::AbstractHeap::pad08C | 
| std::uint16_t RE::AbstractHeap::pad0A0 | 
| std::uint32_t RE::AbstractHeap::pageSize | 
| std::uint32_t RE::AbstractHeap::pageSizeFlag | 
      
  | 
  inlinestaticconstexpr | 
| HeapBlock* RE::AbstractHeap::smallFreeLists[32] | 
| bool RE::AbstractHeap::supportsSwapping | 
| std::size_t RE::AbstractHeap::wastedMemory |