class Geo GeoMemoryPool

This is the documentation for Enlighten.

class Geo GeoMemoryPool

template<class T>
class Geo::GeoMemoryPool

A memory pool.

Variables

Name

Description

Name

Description

const u32 MemoryAlignment = GEO_ALIGN_OF(T) > GEO_ALIGN_OF(Geo::u32) ? GEO_ALIGN_OF(T) : GEO_ALIGN_OF(Geo::u32)

The required memory alignment.

Functions

Name

Description

Name

Description

Allocate()

Allocate object.

AllocateIndex()

Returns the index of a newly allocated object within the pool.

CalculateSize(Geo::u32)

Calculate required memory size.

Deallocate(T *)

Deallocate object.

DeallocateIndex(Geo::u32)

Deallocates the object at the specified index within the pool.

GeoMemoryPool(void *, Geo::u32)

Create a memory pool.

GetIndex(const T *)

Returns the index of the specified object within the pool.

GetObject(Geo::u32)

Returns the object at the specified index within the pool.

IsEmpty()

Returns true if no more blocks can be allocated.



T* Geo::GeoMemoryPool< T >::Allocate


public: T * Allocate()


Allocate object.



Geo::u32 Geo::GeoMemoryPool< T >::AllocateIndex


public: Geo::u32 AllocateIndex()


Returns the index of a newly allocated object within the pool.



static Geo::u32 Geo::GeoMemoryPool< T >::CalculateSize


public: Geo::u32 CalculateSize
(
    Geo::u32 count
)


Calculate required memory size.

 

Parameters

[in]

count

The maximum number of objects the memory pool can allocate.