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.