XII Release 0.1.0
Loading...
Searching...
No Matches
xiiAllocator< AllocationPolicy, TrackingMode > Class Template Reference

Policy based allocator implementation of the xiiAllocatorBase interface. More...

#include <Allocator.h>

Inheritance diagram for xiiAllocator< AllocationPolicy, TrackingMode >:
[legend]

Public Member Functions

 xiiAllocator (xiiStringView sName, xiiAllocatorBase *pParent=nullptr)
 
- Public Member Functions inherited from xiiInternal::xiiAllocatorMixinReallocate< AllocationPolicy, xiiAllocatorTrackingMode::Default, xiiHasReallocate< AllocationPolicy, void *(AllocationPolicy::*)(void *, size_t, size_t, size_t)>::value >
 xiiAllocatorMixinReallocate (xiiStringView sName, xiiAllocatorBase *pParent)
 
- Public Member Functions inherited from xiiInternal::xiiAllocatorImpl< AllocationPolicy, TrackingMode >
 xiiAllocatorImpl (xiiStringView sName, xiiAllocatorBase *pParent)
 
virtual void * Allocate (size_t uiSize, size_t uiAlign, xiiMemoryUtils::DestructorFunction destructorFunc=nullptr) override
 Interface, do not use this directly, always use the new/delete macros below.
 
virtual void Deallocate (void *pPtr) override
 
virtual size_t AllocatedSize (const void *pPtr) override
 Returns the number of bytes allocated at this address.
 
virtual xiiAllocatorId GetId () const override
 
virtual Stats GetStats () const override
 
xiiAllocatorBaseGetParent () const
 
- Public Member Functions inherited from xiiAllocatorBase
virtual void * Reallocate (void *pPtr, size_t uiCurrentSize, size_t uiNewSize, size_t uiAlign)
 

Additional Inherited Members

- Protected Attributes inherited from xiiInternal::xiiAllocatorImpl< AllocationPolicy, TrackingMode >
AllocationPolicy m_Allocator
 
xiiAllocatorId m_Id
 
xiiThreadID m_ThreadID
 

Detailed Description

template<typename AllocationPolicy, xiiAllocatorTrackingMode TrackingMode = xiiAllocatorTrackingMode::Default>
class xiiAllocator< AllocationPolicy, TrackingMode >

Policy based allocator implementation of the xiiAllocatorBase interface.

AllocationPolicy defines how the actual memory is allocated.
TrackingFlags defines how stats about allocations are tracked.


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