|
|
| OSAllocator (const OSAllocator &)=delete |
| |
|
| OSAllocator (OSAllocator &&)=delete |
| |
|
OSAllocator & | operator= (const OSAllocator &)=delete |
| |
|
OSAllocator & | operator= (OSAllocator &&)=delete |
| |
|
bool | Create () |
| |
| void | Destroy () override |
| | All allocators must provide their deinitialization routine here.
|
| |
| AllocatorDebugConfig | GetDebugConfig () override |
| | Returns the debug configuration for this allocator.
|
| |
|
AllocateAddress | allocate (size_type byteSize, size_type alignment) override |
| |
|
size_type | deallocate (pointer ptr, size_type byteSize=0, size_type alignment=0) override |
| |
| AllocateAddress | reallocate (pointer ptr, size_type newSize, align_type newAlignment) override |
| |
| size_type | get_allocated_size (pointer ptr, align_type alignment=1) const override |
| |
| size_type | NumAllocatedBytes () const override |
| |
| 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 () |
| |
|
| 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 AllocateAddress | allocate (size_type byteSize, align_type alignment=1)=0 |
| | Allocates memory and returns the address + the amount of memory allocated.
|
| |
|
virtual size_type | deallocate (pointer ptr, size_type byteSize=0, align_type alignment=0)=0 |
| | Deallocates memory at the ptr address and returns the amount of memory that was allocated.
|
| |
|
virtual size_type | max_size () const |
| |
| virtual void | GarbageCollect () |
| |
|
virtual 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.
|
| |
| 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 |
| |
|
Debug::AllocationRecords * | GetRecords () |
| |
|
| size_type | newSize |
| |
|
| AllocatorBase (bool enableProfiling) |
| |
|
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!
|
| |
OS allocator should be used for direct OS allocations (C heap) It's memory usage is NOT tracked. If you don't create this allocator, it will be implicitly created by the SystemAllocator when it is needed. In addition this allocator is used for debug data (like memory tracking, etc.)