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. |
Anchor | ||||
---|---|---|---|---|
|
T* Geo::GeoMemoryPool< T >::Allocate
...
public: T * Allocate()
...
Allocate object.
Anchor | ||||
---|---|---|---|---|
|
Geo::u32 Geo::GeoMemoryPool< T >::AllocateIndex
...
public: Geo::u32 AllocateIndex()
...
Returns the index of a newly allocated object within the pool.
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
void Geo::GeoMemoryPool< T >::Deallocate
...
public: void Deallocate
(
T * ptr
)
...
Deallocate object.
Anchor | ||||
---|---|---|---|---|
|
void Geo::GeoMemoryPool< T >::DeallocateIndex
...
public: void DeallocateIndex
(
Geo::u32 index
)
...
Deallocates the object at the specified index within the pool.
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
Geo::u32 Geo::GeoMemoryPool< T >::GetIndex
...
public: Geo::u32 GetIndex
(
const T * ptr
) const
...
Returns the index of the specified object within the pool.
Anchor | ||||
---|---|---|---|---|
|
T* Geo::GeoMemoryPool< T >::GetObject
...
public: T * GetObject
(
Geo::u32 index
) const
...
Returns the object at the specified index within the pool.
Anchor | ||||
---|---|---|---|---|
|
bool Geo::GeoMemoryPool< T >::IsEmpty
...
public: bool IsEmpty() const
...
Returns true if no more blocks can be allocated.