This is the documentation for Enlighten.

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

class Geo::MemoryAllocator

Class used to override memory allocation and freeing.

If used, this class must be robust, efficient and thread safe.

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.

Free(void *, bool, const char *, Geo::s32, const char *)

Free a block of memory, possibly aligned.

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.

GetTotalMemoryDeallocated()

The total amount of memory we've deallocated so far.

GetTotalMemoryInUse()

The total amount of memory currently allocated (allocations minus deallocations)

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.


virtual Geo::MemoryAllocator::~MemoryAllocator


public: virtual ~MemoryAllocator()


Force a virtual destructor. This is not called by GeoMemory.


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::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.


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 Geo::s64 Geo::MemoryAllocator::GetTotalMemoryAllocationCalls


public: virtual Geo::s64 GetTotalMemoryAllocationCalls()


The number of times we've allocated memory through GeoMemory.


virtual Geo::s64 Geo::MemoryAllocator::GetTotalMemoryDeallocated


public: virtual Geo::s64 GetTotalMemoryDeallocated()


The total amount of memory we've deallocated so far.


virtual Geo::s64 Geo::MemoryAllocator::GetTotalMemoryInUse


public: virtual Geo::s64 GetTotalMemoryInUse()


The total amount of memory currently allocated (allocations minus deallocations)


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.

  • No labels