#include <fbxmemorypool.h>
Class to create a simple fixed-size-blocks memory pool to allocate memory dynamically.
Definition at line 23 of file fbxmemorypool.h.
Public Member Functions | |
FbxMemoryPool (size_t pBlockSize, FbxInt64 pBlockCount=0, bool pResizable=true, bool pConcurrent=true) | |
Memory pool constructor. More... | |
~FbxMemoryPool () | |
Memory pool destructor. More... | |
void | Reset () |
Free memory of all memory blocks from this memory pool, also effectively resetting the block count to zero. More... | |
void * | Allocate () |
Allocate or lock a memory block for usage. More... | |
void | Release (void *pMemBlock) |
Dispose or unlock a memory block. More... | |
FbxMemoryPool | ( | size_t | pBlockSize, |
FbxInt64 | pBlockCount = 0 , |
||
bool | pResizable = true , |
||
bool | pConcurrent = true |
||
) |
Memory pool constructor.
pBlockSize | The size of one memory block. |
pBlockCount | The count of block that should be pre-allocated. |
pResizable | Whether memory pool can grow if no block are availalbe upon calling Allocate. |
pConcurrent | Whether the pool supports concurrent allocation and release operations. |
~FbxMemoryPool | ( | ) |
Memory pool destructor.
Upon destruction, all memory blocks of the pool will be de-allocated.
void Reset | ( | ) |
Free memory of all memory blocks from this memory pool, also effectively resetting the block count to zero.
void* Allocate | ( | ) |
Allocate or lock a memory block for usage.
void Release | ( | void * | pMemBlock | ) |
Dispose or unlock a memory block.
pMemBlock | A pointer to the memory block to release. This will not free the block's memory, instead simply putting it back in the available stack. |