Plasma Engine  2.0
Loading...
Searching...
No Matches
plLinearAllocator< TrackingMode, OverwriteMemoryOnReset > Class Template Reference
Inheritance diagram for plLinearAllocator< TrackingMode, OverwriteMemoryOnReset >:

Public Member Functions

 plLinearAllocator (plStringView sName, plAllocator *pParent)
 
virtual void * Allocate (size_t uiSize, size_t uiAlign, plMemoryUtils::DestructorFunction destructorFunc) override
 Interface, do not use this directly, always use the new/delete macros below.
 
virtual void Deallocate (void *pPtr) override
 
void Reset ()
 Resets the allocator freeing all memory.
 
- Public Member Functions inherited from plAllocatorWithPolicy< plAllocPolicyLinear< false >, plAllocatorTrackingMode::Default >
 plAllocatorWithPolicy (plStringView sName, plAllocator *pParent=nullptr)
 
- Public Member Functions inherited from plInternal::plAllocatorMixinReallocate< plAllocPolicyLinear< false >, TrackingMode, plHasReallocate< plAllocPolicyLinear< false >, void *(plAllocPolicyLinear< false >::*)(void *, size_t, size_t, size_t)>::value >
 plAllocatorMixinReallocate (plStringView sName, plAllocator *pParent)
 
- Public Member Functions inherited from plInternal::plAllocatorImpl< plAllocPolicyLinear< false >, TrackingMode >
 plAllocatorImpl (plStringView sName, plAllocator *pParent)
 
virtual size_t AllocatedSize (const void *pPtr) override
 Returns the number of bytes allocated at this address.
 
virtual plAllocatorId GetId () const override
 
virtual Stats GetStats () const override
 
plAllocatorGetParent () const
 
- Public Member Functions inherited from plAllocator
virtual void * Reallocate (void *pPtr, size_t uiCurrentSize, size_t uiNewSize, size_t uiAlign)
 

Additional Inherited Members

- Protected Attributes inherited from plInternal::plAllocatorImpl< plAllocPolicyLinear< false >, TrackingMode >
plAllocPolicyLinear< false > m_allocator
 
plAllocatorId m_Id
 
plThreadID m_ThreadID
 

Member Function Documentation

◆ Allocate()

template<plAllocatorTrackingMode TrackingMode, bool OverwriteMemoryOnReset>
void * plLinearAllocator< TrackingMode, OverwriteMemoryOnReset >::Allocate ( size_t uiSize,
size_t uiAlign,
plMemoryUtils::DestructorFunction destructorFunc )
overridevirtual

Interface, do not use this directly, always use the new/delete macros below.

Reimplemented from plInternal::plAllocatorImpl< plAllocPolicyLinear< false >, TrackingMode >.

◆ Deallocate()

template<plAllocatorTrackingMode TrackingMode, bool OverwriteMemoryOnReset>
void plLinearAllocator< TrackingMode, OverwriteMemoryOnReset >::Deallocate ( void * pPtr)
overridevirtual

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