#include <AllocatorBase.h>
Inherits AZ::IAllocator.
Inherited by AZ::SimpleSchemaAllocator< Schema, true, false >, AZ::SimpleSchemaAllocator< PoolSchema, true, false >, AZ::OSAllocator, AZ::SimpleSchemaAllocator< Schema, ProfileAllocations, ReportOutOfMemory >, and AZ::SystemAllocator.
Public Member Functions | |
const Debug::AllocationRecords * | GetRecords () const override |
Returns a pointer to the allocation records. They might be available or not depending on the build type. Debug::AllocationRecords. | |
void | SetRecords (Debug::AllocationRecords *records) final |
Sets the allocation records. | |
bool | IsReady () const final |
Returns true if this allocator is ready to use. | |
void | PostCreate () override |
All conforming allocators must call PostCreate() after their custom Create() method in order to be properly registered. | |
void | PreDestroy () final |
All conforming allocators must call PreDestroy() before their custom Destroy() method in order to be properly deregistered. | |
void | SetProfilingActive (bool active) final |
bool | IsProfilingActive () const final |
Returns true if profiling calls will be made. | |
virtual const Debug::AllocationRecords * | GetRecords () const |
Returns a pointer to the allocation records. They might be available or not depending on the build type. Debug::AllocationRecords. | |
Debug::AllocationRecords * | GetRecords () |
Public Member Functions inherited from AZ::IAllocator | |
AZ_RTTI (IAllocator, "{0A3C59AE-169C-45F6-9423-3B8C89245E2E}") | |
IAllocator (const IAllocator &)=delete | |
IAllocator (IAllocator &&)=delete | |
IAllocator & | operator= (const IAllocator &)=delete |
IAllocator & | operator= (IAllocator &&)=delete |
virtual pointer | allocate (size_type byteSize, align_type alignment=1)=0 |
virtual void | deallocate (pointer ptr, size_type byteSize=0, align_type alignment=0)=0 |
virtual pointer | reallocate (pointer ptr, size_type newSize, align_type newAlignment=1)=0 |
virtual size_type | max_size () const |
virtual size_type | get_allocated_size (pointer ptr, align_type alignment=1) const =0 |
virtual void | GarbageCollect () |
const char * | GetName () const |
pointer | Allocate (size_type byteSize, size_type alignment=1, int flags=0, const char *name=nullptr, const char *fileName=nullptr, int lineNum=0, unsigned int suppressStackRecord=0) |
void | DeAllocate (pointer ptr, size_type byteSize=0, size_type alignment=0) |
AZ_DEPRECATED_MESSAGE ("Resize no longer supported, use reallocate instead, note that the pointer address could change, " "Allocators should do best effort to keep the ptr at the same address") size_type Resize(pointer ptr | |
pointer | ReAllocate (pointer ptr, size_type newSize, size_type newAlignment) |
size_type | AllocationSize (pointer ptr) |
Returns allocation size for given address. 0 if the address doesn't belong to the allocator. | |
virtual size_type | NumAllocatedBytes () const |
size_type | Capacity () const |
size_type | GetMaxAllocationSize () const |
Returns max allocation size if possible. If not returned value is 0. | |
size_type | GetMaxContiguousAllocationSize () const |
Returns the maximum contiguous allocation size of a single allocation. | |
size_type | GetUnAllocatedMemory (bool isPrint=false) const |
virtual AllocatorDebugConfig | GetDebugConfig () |
Returns the debug configuration for this allocator. | |
virtual const Debug::AllocationRecords * | GetRecords () const |
Returns a pointer to the allocation records. They might be available or not depending on the build type. Debug::AllocationRecords. | |
Debug::AllocationRecords * | GetRecords () |
virtual void | SetRecords (Debug::AllocationRecords *records) |
Sets the allocation records. | |
virtual bool | IsReady () const |
Returns true if this allocator is ready to use. | |
virtual void | SetProfilingActive (bool active) |
virtual bool | IsProfilingActive () const |
Returns true if profiling calls will be made. | |
Protected Member Functions | |
AZ_FORCE_INLINE size_t | MemorySizeAdjustedUp (size_t byteSize) const |
Returns the size of a memory allocation after adjusting for tracking. | |
AZ_FORCE_INLINE size_t | MemorySizeAdjustedDown (size_t byteSize) const |
Returns the size of a memory allocation, removing any tracking overhead. | |
void | DisableRegistration () |
void | ProfileAllocation (void *ptr, size_t byteSize, size_t alignment, int suppressStackRecord) |
Records an allocation for profiling. | |
void | ProfileDeallocation (void *ptr, size_t byteSize, size_t alignment, Debug::AllocationInfo *info) |
Records a deallocation for profiling. | |
void | ProfileReallocation (void *ptr, void *newPtr, size_t newSize, size_t newAlignment) |
Records a reallocation for profiling. | |
void | ProfileResize (void *ptr, size_t newSize) |
Records a resize for profiling. | |
bool | OnOutOfMemory (size_t byteSize, size_t alignment) |
User allocator should call this function when they run out of memory! | |
Protected Member Functions inherited from AZ::IAllocator | |
virtual void | PostCreate () |
All conforming allocators must call PostCreate() after their custom Create() method in order to be properly registered. | |
virtual void | PreDestroy () |
All conforming allocators must call PreDestroy() before their custom Destroy() method in order to be properly deregistered. | |
virtual void | Destroy () |
All allocators must provide their deinitialization routine here. | |
Additional Inherited Members | |
Public Attributes inherited from AZ::IAllocator | |
size_type | newSize |
AllocatorBase - all AZ-compatible allocators should inherit from this implementation of IAllocator.
|
protected |
Call to disallow this allocator from being registered with the AllocatorManager. Only kernel-level allocators where it would be especially problematic for them to be registered with the AllocatorManager should do this.
|
inlinevirtual |
Returns a pointer to the allocation records. They might be available or not depending on the build type. Debug::AllocationRecords.
Reimplemented from AZ::IAllocator.
|
overridevirtual |
Returns a pointer to the allocation records. They might be available or not depending on the build type. Debug::AllocationRecords.
Reimplemented from AZ::IAllocator.
|
finalvirtual |
Returns true if profiling calls will be made.
Reimplemented from AZ::IAllocator.
|
finalvirtual |
Returns true if this allocator is ready to use.
Reimplemented from AZ::IAllocator.
|
overridevirtual |
All conforming allocators must call PostCreate() after their custom Create() method in order to be properly registered.
Reimplemented from AZ::IAllocator.
|
finalvirtual |
All conforming allocators must call PreDestroy() before their custom Destroy() method in order to be properly deregistered.
Reimplemented from AZ::IAllocator.
|
finalvirtual |
Sets whether profiling calls should be made. This is primarily a performance compromise, as the profiling calls go out on an EBus that may not exist if not activated, and will result in an expensive hash lookup if that is the case.
Reimplemented from AZ::IAllocator.
|
finalvirtual |
Sets the allocation records.
Reimplemented from AZ::IAllocator.