This class implements a memory pool that allocates and manages memory blocks of some uniform size specified at construction.
Declared in <bdlma_pool.h>
class Pool;
This memory pool maintains an internal linked list of free memory blocks, and dispenses one block for each allocate method invocation. When a memory block is deallocated, it is returned to the free list for potential reuse.
| Name | Description |
|---|---|
Pool [constructor] | Constructors |
~Pool [destructor] | Destroy this pool, releasing all associated memory back to the underlying allocator. |
allocate | Return the address of a contiguous block of maximally-aligned memory having the fixed block size specified at construction. |
allocator | Return the allocator used by this object to allocate memory. Note that this allocator can not be used to deallocate memory allocated through this pool. |
blockSize | Return the size (in bytes) of the memory blocks allocated from this pool object. Note that all blocks dispensed by this pool have the same size. |
deallocate | Relinquish the memory block at the specified address back to this pool for reuse. |
deleteObject | Destroy and deallocate object using its dynamic type. |
deleteObjectRaw | Destroy and deallocate object using its static type. |
release | Relinquish all memory currently allocated via this pool object. |
reserveCapacity | Reserve capacity for at least numBlocks blocks from this pool. |