This class implements a memory pool that allocates and manages memory blocks of some uniform size specified at construction.

Synopsis

Declared in <bdlma_pool.h>

class Pool;

Description

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.

Member Functions

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.

Created with MrDocs