CommonLibSSE (Parapets fork)
RE::hkMemoryAllocator Class Referenceabstract

#include <hkMemoryAllocator.h>

Inheritance diagram for RE::hkMemoryAllocator:
RE::bhkThreadMemorySource RE::hkContainerHeapAllocator::Allocator

Classes

struct  ExtendedInterface
 
struct  MemoryStatistics
 

Public Types

enum class  MemoryState { kOK , kOutOfMemory }
 
using MemoryWalkCallback = void(void *a_start, std::size_t a_size, bool a_allocated, std::int32_t a_pool, void *a_param)
 

Public Member Functions

virtual ~hkMemoryAllocator ()
 
virtual void * BlockAlloc (std::int32_t a_numBytes)=0
 
virtual void BlockFree (void *a_ptr, std::int32_t a_numBytes)=0
 
virtual void * BufAlloc (std::int32_t &a_reqNumBytesInOut)
 
virtual void BufFree (void *a_ptr, std::int32_t a_numBytes)
 
virtual void * BufRealloc (void *a_ptrOld, std::int32_t a_oldNumBytes, std::int32_t &a_reqNumBytesInOut)
 
virtual void BlockAllocBatch (void **a_ptrsOut, std::int32_t a_numPtrs, std::int32_t a_blockSize)
 
virtual void BlockFreeBatch (void **a_ptrsIn, std::int32_t a_numPtrs, std::int32_t a_blockSize)
 
virtual void GetMemoryStatistics (MemoryStatistics &a_usage)=0
 
virtual std::int32_t GetAllocatedSize (const void *a_obj, std::int32_t a_numBytes)=0
 
virtual void ResetPeakMemoryStatistics ()
 

Static Public Attributes

static constexpr auto RTTI = RTTI_hkMemoryAllocator
 

Member Typedef Documentation

◆ MemoryWalkCallback

using RE::hkMemoryAllocator::MemoryWalkCallback = void(void* a_start, std::size_t a_size, bool a_allocated, std::int32_t a_pool, void* a_param)

Member Enumeration Documentation

◆ MemoryState

Enumerator
kOK 
kOutOfMemory 

Constructor & Destructor Documentation

◆ ~hkMemoryAllocator()

virtual RE::hkMemoryAllocator::~hkMemoryAllocator ( )
virtual

Member Function Documentation

◆ BlockAlloc()

virtual void* RE::hkMemoryAllocator::BlockAlloc ( std::int32_t  a_numBytes)
pure virtual

◆ BlockAllocBatch()

virtual void RE::hkMemoryAllocator::BlockAllocBatch ( void **  a_ptrsOut,
std::int32_t  a_numPtrs,
std::int32_t  a_blockSize 
)
virtual

Reimplemented in RE::bhkThreadMemorySource.

◆ BlockFree()

virtual void RE::hkMemoryAllocator::BlockFree ( void *  a_ptr,
std::int32_t  a_numBytes 
)
pure virtual

◆ BlockFreeBatch()

virtual void RE::hkMemoryAllocator::BlockFreeBatch ( void **  a_ptrsIn,
std::int32_t  a_numPtrs,
std::int32_t  a_blockSize 
)
virtual

Reimplemented in RE::bhkThreadMemorySource.

◆ BufAlloc()

virtual void* RE::hkMemoryAllocator::BufAlloc ( std::int32_t &  a_reqNumBytesInOut)
virtual

◆ BufFree()

virtual void RE::hkMemoryAllocator::BufFree ( void *  a_ptr,
std::int32_t  a_numBytes 
)
virtual

◆ BufRealloc()

virtual void* RE::hkMemoryAllocator::BufRealloc ( void *  a_ptrOld,
std::int32_t  a_oldNumBytes,
std::int32_t &  a_reqNumBytesInOut 
)
virtual

Reimplemented in RE::bhkThreadMemorySource.

◆ GetAllocatedSize()

virtual std::int32_t RE::hkMemoryAllocator::GetAllocatedSize ( const void *  a_obj,
std::int32_t  a_numBytes 
)
pure virtual

◆ GetMemoryStatistics()

virtual void RE::hkMemoryAllocator::GetMemoryStatistics ( MemoryStatistics a_usage)
pure virtual

◆ ResetPeakMemoryStatistics()

virtual void RE::hkMemoryAllocator::ResetPeakMemoryStatistics ( )
virtual

Member Data Documentation

◆ RTTI

constexpr auto RE::hkMemoryAllocator::RTTI = RTTI_hkMemoryAllocator
inlinestaticconstexpr

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