Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

class Geo::MemoryAllocator

Class used to override memory allocation and freeing.

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

Functions

NameDescription
~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.


Anchor
a7acf643b8e4a54ca5884d64c2a8233c8
a7acf643b8e4a54ca5884d64c2a8233c8

virtual Geo::MemoryAllocator::~MemoryAllocator

...

public: virtual ~MemoryAllocator()

...

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


Anchor
a1ad7d61101838a39ceed4f6e26544f5a
a1ad7d61101838a39ceed4f6e26544f5a

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.


Anchor
a0fc025f53e6435fec6b7589083aebbb6
a0fc025f53e6435fec6b7589083aebbb6

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.


Anchor
a8d1f225f2ebcde9415cb3fa3e53d66d6
a8d1f225f2ebcde9415cb3fa3e53d66d6

virtual Geo::s64 Geo::MemoryAllocator::GetTotalMemoryAllocated

...

public: virtual Geo::s64 GetTotalMemoryAllocated()

...

The total amount of memory we've allocated to date (not subtracting deallocations).


Anchor
ae599af57b73a23ee1d2883a202178bc4
ae599af57b73a23ee1d2883a202178bc4

virtual Geo::s64 Geo::MemoryAllocator::GetTotalMemoryAllocationCalls

...

public: virtual Geo::s64 GetTotalMemoryAllocationCalls()

...

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


Anchor
a6c4a211d30c4600a93b22d84a78c01b3
a6c4a211d30c4600a93b22d84a78c01b3

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

...

public: virtual Geo::s64 GetTotalMemoryDeallocated()

...

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


Anchor
a94fcfab1a68e8e593eaa8c7d30301639
a94fcfab1a68e8e593eaa8c7d30301639

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

...

public: virtual Geo::s64 GetTotalMemoryInUse()

...

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


Anchor
a3fddad784ad8df094175215b0e74d259
a3fddad784ad8df094175215b0e74d259

virtual bool Geo::MemoryAllocator::IsTotalMemorySummarySupported

...

public: virtual bool IsTotalMemorySummarySupported()

...

Returns true if the memory summary functionality is supported with this allocator.


Anchor
a5e7edc1e44ef98a103e58bd0367dba12
a5e7edc1e44ef98a103e58bd0367dba12

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.