Create a memory pool that returns blocks of contiguous memory of the specified blockSize (in bytes) for each allocate method invocation. Optionally specify a growthStrategy used to control the growth of internal memory chunks (from which memory blocks are dispensed). If growthStrategy is not specified, geometric growth is used. Optionally specify maxBlocksPerChunk as the maximum chunk size. If geometric growth is used, the chunk size grows starting at blockSize, doubling in size until the size is exactly blockSize * maxBlocksPerChunk. If constant growth is used, the chunk size is always maxBlocksPerChunk. If maxBlocksPerChunk is not specified, an implementation‐defined value is used. Optionally specify a basicAllocator used to supply memory. If basicAllocator is 0, the currently installed default allocator is used. The behavior is undefined unless 1 <= blockSize and 1 <= maxBlocksPerChunk.

Synopsis

Declared in <bdlma_concurrentpool.h>

explicit
ConcurrentPool(
    bsls::Types::size_type blockSize,
    bslma::Allocator* basicAllocator = 0);

Created with MrDocs