class Geo::GeoMemoryDefault
Fully featured MemoryAllocator implementation that handles memory tracking, leak detection, stack traces, reporting and more.
Passes actual allocation requests to another allocator (such as AnsiAllocator).
Functions
Name | Description |
---|---|
~MemoryAllocator() | Force a virtual destructor. This is not called by GeoMemory. |
Allocate(size_t, size_t, const char *, Geo::s32, const char *) | Allocate a block of memory with the given size. |
Allocate(size_t, size_t, const char *, Geo::s32, const char *) | Allocate a block of memory with the given size. |
Free(void *, bool, const char *, Geo::s32, const char *) | Free a block of memory, possibly aligned. |
Free(void *, bool, const char *, Geo::s32, const char *) | Free a block of memory, possibly aligned. |
GeoMemoryDefault(MemoryAllocator *, bool) | Initialise object, allowing for replacement of the allocator that does the actual work. |
GetTotalMemoryAllocated() | The total amount of memory we've allocated to date (not subtracting deallocations). |
GetTotalMemoryAllocated() | The total amount of memory we've allocated to date (not subtracting deallocations). |
GetTotalMemoryAllocationCalls() | The number of times we've allocated memory through GeoMemory. |
GetTotalMemoryAllocationCalls() | The number of times we've allocated memory through GeoMemory. |
GetTotalMemoryDeallocated() | The total amount of memory we've deallocated so far. |
GetTotalMemoryDeallocated() | The total amount of memory we've deallocated so far. |
GetTotalMemoryInUse() | The total amount of memory currently allocated (allocations minus deallocations) |
GetTotalMemoryInUse() | The total amount of memory currently allocated (allocations minus deallocations) |
IsTotalMemorySummarySupported() | Returns true if the memory summary functionality is supported with this allocator. |
IsTotalMemorySummarySupported() | Returns true if the memory summary functionality is supported with this allocator. |
Realloc(void *, size_t, size_t, const char *, s32, const char *) | Reallocate a block of memory, preserving as much data as will fit in the new block size. |
Realloc(void *, size_t, size_t, const char *, s32, const char *) | Reallocate a block of memory, preserving as much data as will fit in the new block size. |
SetMaximumHeapSize(Geo::u64) | Sets the maximum amount of memory that is allowed to be allocated. Allocations after this size has been reached will return NULL. |
virtual Geo::MemoryAllocator::~MemoryAllocator
public: virtual ~MemoryAllocator()
Force a virtual destructor. This is not called by GeoMemory.
virtual void* Geo::GeoMemoryDefault::Allocate
public: virtual void * Allocate
(
size_t size,
size_t align,
const char * filename,
Geo::s32 lineNumber,
const char * message
)
Allocate a block of memory with the given size.
If alignment is 0, use unaligned allocation. Otherwise, alignment must be a power of two.
virtual void* Geo::MemoryAllocator::Allocate
public: void * Allocate
(
size_t size,
size_t align,
const char * filename,
Geo::s32 lineNumber,
const char * message
)
Allocate a block of memory with the given size.
If alignment is 0, use unaligned allocation. Otherwise, alignment must be a power of two.
virtual void Geo::GeoMemoryDefault::Free
public: virtual void Free
(
void * mem,
bool aligned,
const char * filename,
Geo::s32 lineNumber,
const char * message
)
Free a block of memory, possibly aligned.
virtual void Geo::MemoryAllocator::Free
public: void Free
(
void * mem,
bool aligned,
const char * filename,
Geo::s32 lineNumber,
const char * message
)
Free a block of memory, possibly aligned.
Geo::GeoMemoryDefault::GeoMemoryDefault
public: GeoMemoryDefault
(
MemoryAllocator * customAlloc,
bool failureIsFatal
)
Initialise object, allowing for replacement of the allocator that does the actual work.
When failureIsFatal is true, the allocator will stop the program on allocation failure.
virtual s64 Geo::GeoMemoryDefault::GetTotalMemoryAllocated
public: virtual s64 GetTotalMemoryAllocated()
The total amount of memory we've allocated to date (not subtracting deallocations).
virtual Geo::s64 Geo::MemoryAllocator::GetTotalMemoryAllocated
public: virtual Geo::s64 GetTotalMemoryAllocated()
The total amount of memory we've allocated to date (not subtracting deallocations).
virtual s64 Geo::GeoMemoryDefault::GetTotalMemoryAllocationCalls
public: virtual s64 GetTotalMemoryAllocationCalls()
The number of times we've allocated memory through GeoMemory.
virtual Geo::s64 Geo::MemoryAllocator::GetTotalMemoryAllocationCalls
public: virtual Geo::s64 GetTotalMemoryAllocationCalls()
The number of times we've allocated memory through GeoMemory.
virtual s64 Geo::GeoMemoryDefault::GetTotalMemoryDeallocated
public: virtual s64 GetTotalMemoryDeallocated()
The total amount of memory we've deallocated so far.
virtual Geo::s64 Geo::MemoryAllocator::GetTotalMemoryDeallocated
public: virtual Geo::s64 GetTotalMemoryDeallocated()
The total amount of memory we've deallocated so far.
virtual s64 Geo::GeoMemoryDefault::GetTotalMemoryInUse
public: virtual s64 GetTotalMemoryInUse()
The total amount of memory currently allocated (allocations minus deallocations)
virtual Geo::s64 Geo::MemoryAllocator::GetTotalMemoryInUse
public: virtual Geo::s64 GetTotalMemoryInUse()
The total amount of memory currently allocated (allocations minus deallocations)
virtual bool Geo::GeoMemoryDefault::IsTotalMemorySummarySupported
public: virtual bool IsTotalMemorySummarySupported()
Returns true if the memory summary functionality is supported with this allocator.
virtual bool Geo::MemoryAllocator::IsTotalMemorySummarySupported
public: virtual bool IsTotalMemorySummarySupported()
Returns true if the memory summary functionality is supported with this allocator.
virtual void* Geo::MemoryAllocator::Realloc
public: void * Realloc
(
void * mem,
size_t size,
size_t align,
const char * filename,
s32 lineNumber,
const char * message
)
Reallocate a block of memory, preserving as much data as will fit in the new block size.
Requires the same alignment as in the original allocation.
virtual void* Geo::GeoMemoryDefault::Realloc
public: virtual void * Realloc
(
void * mem,
size_t size,
size_t align,
const char * filename,
s32 lineNumber,
const char * message
)
Reallocate a block of memory, preserving as much data as will fit in the new block size.
Requires the same alignment as in the original allocation.
bool Geo::GeoMemoryDefault::SetMaximumHeapSize
public: bool SetMaximumHeapSize
(
Geo::u64 size
)
Sets the maximum amount of memory that is allowed to be allocated. Allocations after this size has been reached will return NULL.