A pool of objects, allocated in the heap and tracked by their pointers. More...
Public Member Functions | |
PtrPool (UniquePtr< Allocator< T >> allocator=makeUnique< DefaultAllocator< T >>(), UniquePtr< Deallocator< T >> deallocator=makeUnique< DefaultDeallocator< T >>()) noexcept ~PtrPool() | |
unsigned long long | getPoolSize () const |
unsigned long long | getFreeItemsCount () const |
unsigned long long | getFlyingItemsCount () const |
T * | getObject () |
void | releaseObject (T *object) |
A pool of objects, allocated in the heap and tracked by their pointers.
Can be used to keep objects around and reusing them many times. This helps in easing memory allocation / deallocation requests, this reducing calls to system.
|
noexcept |
Constructor.
allocator | Allocator to use when a new object has to be allocated. The pool takes ownership of the allocator provided. |
deallocator | Deallocator to use when an object has to be freed. The pool takes ownership of the deallocator provided. Destructor. |
unsigned long long nkMemory::PtrPool< T >::getPoolSize | ( | ) | const |
unsigned long long nkMemory::PtrPool< T >::getFreeItemsCount | ( | ) | const |
unsigned long long nkMemory::PtrPool< T >::getFlyingItemsCount | ( | ) | const |
T* nkMemory::PtrPool< T >::getObject | ( | ) |
void nkMemory::PtrPool< T >::releaseObject | ( | T * | object | ) |
Returns an object to the pool.
object | Object to return to the pool. |