[#BloombergLP-bdlma-ConcurrentPoolAllocator-2constructor-01]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlma.adoc[bdlma]::xref:BloombergLP/bdlma/ConcurrentPoolAllocator.adoc[ConcurrentPoolAllocator]::ConcurrentPoolAllocator
:relfileprefix: ../../../
:mrdocs:

Create a pool allocator that returns blocks of the specified size&period;

== Synopsis

Declared in `&lt;bdlma&lowbar;concurrentpoolallocator&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
explicit
ConcurrentPoolAllocator(
    xref:BloombergLP/bdlma/ConcurrentPoolAllocator/size_type.adoc[size&lowbar;type] blockSize,
    xref:BloombergLP/bslma/Allocator.adoc[bslma::Allocator]* basicAllocator = 0);
----

== Description

Create a pool allocator that returns blocks of contiguous memory of the specified `blockSize` (in bytes) for each `allocate` method invocation&period; Optionally specify a `growthStrategy` used to control the growth of internal memory chunks (from which memory blocks are dispensed)&period; If `growthStrategy` is not specified, geometric growth is used&period; If `blockSize` and `growthStrategy` are specified, optionally specify a `maxBlocksPerChunk`, indicating the maximum number of blocks to be allocated at once when the underlying pool must be replenished&period; If `maxBlocksPerChunk` is not specified, an implementation&hyphen;defined value is used&period; If geometric growth is used, the chunk size grows starting at `blockSize`, doubling in size until the size is exactly `blockSize &ast; maxBlocksPerChunk`&period; If constant growth is used, the chunk size is always `maxBlocksPerChunk`&period; Optionally specify a `basicAllocator` used to supply memory&period; If `basicAllocator` is 0, the currently installed default allocator is used&period; The behavior is undefined unless `1 &lt;&equals; maxBlocksPerChunk`&period;

== Parameters

[cols="1,4"]
|===
| Name| Description
| *blockSize*
| size in bytes of each pooled memory block
| *basicAllocator*
| memory allocator&semi; null uses the default
|===


[.small]#Created with https://www.mrdocs.com[MrDocs]#
