CommonLibSSE (Parapets fork)
RE::BSSmallBlockAllocator Class Reference

#include <BSSmallBlockAllocator.h>

Inheritance diagram for RE::BSSmallBlockAllocator:
RE::IMemoryStore RE::IMemoryStoreBase

Classes

struct  MegaBlockPage
 
struct  Pool
 

Public Member Functions

 ~BSSmallBlockAllocator () override
 
std::size_t Size (const void *a_block) const override
 
void GetMemoryStats (MemoryStats *a_stats) override
 
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_freeBlock) override
 
void * TryAllocateImpl (std::size_t a_size, std::uint32_t a_alignment) override
 
- Public Member Functions inherited from RE::IMemoryStore
 ~IMemoryStore () override=default
 
virtual void * TryAllocateImpl ([[maybe_unused]] std::size_t a_size, [[maybe_unused]] 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
 

Public Attributes

Pool pools [64]
 
BSCriticalSection lock
 
std::uint32_t addressSpaceSize
 
std::uint32_t pad1234
 
char * allocBase
 
char * blockPageCommitMin
 
char * blockPageCommit
 
MegaBlockPagemegaBlockPageList
 
MegaBlockPagemegaBlockCurrAlloc
 
std::uint32_t totalFreeBlockPages
 
bool allowDecommits
 
std::uint8_t pad1265
 
std::uint16_t pad1266
 

Static Public Attributes

static constexpr auto RTTI = RTTI_BSSmallBlockAllocator
 
- 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
 

Constructor & Destructor Documentation

◆ ~BSSmallBlockAllocator()

RE::BSSmallBlockAllocator::~BSSmallBlockAllocator ( )
override

Member Function Documentation

◆ AllocateAlignImpl()

void* RE::BSSmallBlockAllocator::AllocateAlignImpl ( std::size_t  a_size,
std::uint32_t  a_alignment 
)
overridevirtual

Implements RE::IMemoryStore.

◆ ContainsBlockImpl()

bool RE::BSSmallBlockAllocator::ContainsBlockImpl ( const void *  a_block) const
overridevirtual

Implements RE::IMemoryStoreBase.

◆ DeallocateAlignImpl()

void RE::BSSmallBlockAllocator::DeallocateAlignImpl ( void *&  a_freeBlock)
overridevirtual

Implements RE::IMemoryStore.

◆ GetMemoryStats()

void RE::BSSmallBlockAllocator::GetMemoryStats ( MemoryStats a_stats)
overridevirtual

Implements RE::IMemoryStoreBase.

◆ Size()

std::size_t RE::BSSmallBlockAllocator::Size ( const void *  a_block) const
overridevirtual

Implements RE::IMemoryStoreBase.

◆ TryAllocateImpl()

void* RE::BSSmallBlockAllocator::TryAllocateImpl ( std::size_t  a_size,
std::uint32_t  a_alignment 
)
override

Member Data Documentation

◆ addressSpaceSize

std::uint32_t RE::BSSmallBlockAllocator::addressSpaceSize

◆ allocBase

char* RE::BSSmallBlockAllocator::allocBase

◆ allowDecommits

bool RE::BSSmallBlockAllocator::allowDecommits

◆ blockPageCommit

char* RE::BSSmallBlockAllocator::blockPageCommit

◆ blockPageCommitMin

char* RE::BSSmallBlockAllocator::blockPageCommitMin

◆ lock

BSCriticalSection RE::BSSmallBlockAllocator::lock

◆ megaBlockCurrAlloc

MegaBlockPage* RE::BSSmallBlockAllocator::megaBlockCurrAlloc

◆ megaBlockPageList

MegaBlockPage* RE::BSSmallBlockAllocator::megaBlockPageList

◆ pad1234

std::uint32_t RE::BSSmallBlockAllocator::pad1234

◆ pad1265

std::uint8_t RE::BSSmallBlockAllocator::pad1265

◆ pad1266

std::uint16_t RE::BSSmallBlockAllocator::pad1266

◆ pools

Pool RE::BSSmallBlockAllocator::pools[64]

◆ RTTI

constexpr auto RE::BSSmallBlockAllocator::RTTI = RTTI_BSSmallBlockAllocator
inlinestaticconstexpr

◆ totalFreeBlockPages

std::uint32_t RE::BSSmallBlockAllocator::totalFreeBlockPages

The documentation for this class was generated from the following file: