XII Release 0.1.0
Loading...
Searching...
No Matches
xiiAllocatorBase Class Referenceabstract

Base class for all memory allocators. More...

#include <AllocatorBase.h>

Inheritance diagram for xiiAllocatorBase:
[legend]

Classes

struct  Stats
 

Public Member Functions

virtual void * Allocate (size_t uiSize, size_t uiAlign, xiiMemoryUtils::DestructorFunction destructorFunc=nullptr)=0
 Interface, do not use this directly, always use the new/delete macros below.
 
virtual void Deallocate (void *pPtr)=0
 
virtual void * Reallocate (void *pPtr, size_t uiCurrentSize, size_t uiNewSize, size_t uiAlign)
 
virtual size_t AllocatedSize (const void *pPtr)=0
 Returns the number of bytes allocated at this address.
 
virtual xiiAllocatorId GetId () const =0
 
virtual Stats GetStats () const =0
 

Detailed Description

Base class for all memory allocators.

Member Function Documentation

◆ Allocate()

◆ AllocatedSize()

virtual size_t xiiAllocatorBase::AllocatedSize ( const void * pPtr)
pure virtual

Returns the number of bytes allocated at this address.

Note
Careful! This information is only available, if allocation tracking is enabled! Otherwise 0 is returned. See xiiAllocatorTrackingMode and XII_ALLOC_TRACKING_DEFAULT.

Implemented in xiiInternal::xiiAllocatorImpl< AllocationPolicy, TrackingMode >, xiiInternal::xiiAllocatorImpl< xiiMemoryPolicies::xiiHeapAllocation, TrackingMode >, and xiiInternal::xiiAllocatorImpl< xiiMemoryPolicies::xiiStackAllocation, TrackingMode >.


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