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 »

template<class T>
class Geo::GeoMemoryPool

A memory pool.

Variables

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


void Geo::GeoMemoryPool< T >::Deallocate


public: void Deallocate
(
    T * ptr
)


Deallocate object.


void Geo::GeoMemoryPool< T >::DeallocateIndex


public: void DeallocateIndex
(
    Geo::u32 index
)


Deallocates the object at the specified index within the pool.


Geo::GeoMemoryPool< T >::GeoMemoryPool


public: GeoMemoryPool
(
    void * memory,
    Geo::u32 count
)


Create a memory pool.

Parameters
[in] memory

The start of the allocated memory space.

[in] count

The maximum number of objects the memory pool can allocate.


Geo::u32 Geo::GeoMemoryPool< T >::GetIndex


public: Geo::u32 GetIndex
(
    const T * ptr
) const


Returns the index of the specified object within the pool.


T* Geo::GeoMemoryPool< T >::GetObject


public: T * GetObject
(
    Geo::u32 index
) const


Returns the object at the specified index within the pool.


bool Geo::GeoMemoryPool< T >::IsEmpty


public: bool IsEmpty() const


Returns true if no more blocks can be allocated.

  • No labels