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

Constructors

== Synopses

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

Create a sequential pool whose initial buffer has the specified `initialSize`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
explicit
xref:BloombergLP/bdlma/SequentialPool/2constructor-04.adoc[SequentialPool](int initialSize);
----

[.small]#xref:BloombergLP/bdlma/SequentialPool/2constructor-04.adoc[_» more&period;&period;&period;_]#

Create a sequential pool of dynamically&hyphen;allocated buffers&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
explicit
xref:BloombergLP/bdlma/SequentialPool/2constructor-0e9.adoc[SequentialPool](xref:BloombergLP/bslma/Allocator.adoc[bslma::Allocator]* basicAllocator = 0);
----

[.small]#xref:BloombergLP/bdlma/SequentialPool/2constructor-0e9.adoc[_» more&period;&period;&period;_]#

Create a sequential pool using the specified alignment strategy&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
explicit
xref:BloombergLP/bdlma/SequentialPool/2constructor-0f.adoc[SequentialPool](
    xref:BloombergLP/bsls/Alignment/Strategy.adoc[bsls::Alignment::Strategy] alignmentStrategy,
    xref:BloombergLP/bslma/Allocator.adoc[bslma::Allocator]* basicAllocator = 0);
----

[.small]#xref:BloombergLP/bdlma/SequentialPool/2constructor-0f.adoc[_» more&period;&period;&period;_]#

Create a sequential pool using the specified growth strategy&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
explicit
xref:BloombergLP/bdlma/SequentialPool/2constructor-0a.adoc[SequentialPool](
    xref:BloombergLP/bsls/BlockGrowth/Strategy.adoc[bsls::BlockGrowth::Strategy] growthStrategy,
    xref:BloombergLP/bslma/Allocator.adoc[bslma::Allocator]* basicAllocator = 0);
----

[.small]#xref:BloombergLP/bdlma/SequentialPool/2constructor-0a.adoc[_» more&period;&period;&period;_]#

Create a sequential pool whose initial buffer has the specified `initialSize`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
explicit
xref:BloombergLP/bdlma/SequentialPool/2constructor-06.adoc[SequentialPool](
    xref:BloombergLP/bsls/Types/size_type.adoc[bsls::Types::size&lowbar;type] initialSize,
    xref:BloombergLP/bslma/Allocator.adoc[bslma::Allocator]* basicAllocator = 0);
----

[.small]#xref:BloombergLP/bdlma/SequentialPool/2constructor-06.adoc[_» more&period;&period;&period;_]#

Create a sequential pool using the specified growth and alignment strategies and an implementation&hyphen;defined initial buffer size&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bdlma/SequentialPool/2constructor-015.adoc[SequentialPool](
    xref:BloombergLP/bsls/BlockGrowth/Strategy.adoc[bsls::BlockGrowth::Strategy] growthStrategy,
    xref:BloombergLP/bsls/Alignment/Strategy.adoc[bsls::Alignment::Strategy] alignmentStrategy,
    xref:BloombergLP/bslma/Allocator.adoc[bslma::Allocator]* basicAllocator = 0);
----

[.small]#xref:BloombergLP/bdlma/SequentialPool/2constructor-015.adoc[_» more&period;&period;&period;_]#

Create a sequential pool whose initial buffer has the specified `initialSize` and alignment strategy&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bdlma/SequentialPool/2constructor-01e.adoc[SequentialPool](
    xref:BloombergLP/bsls/Types/size_type.adoc[bsls::Types::size&lowbar;type] initialSize,
    xref:BloombergLP/bsls/Alignment/Strategy.adoc[bsls::Alignment::Strategy] alignmentStrategy,
    xref:BloombergLP/bslma/Allocator.adoc[bslma::Allocator]* basicAllocator = 0);
----

[.small]#xref:BloombergLP/bdlma/SequentialPool/2constructor-01e.adoc[_» more&period;&period;&period;_]#

Create a sequential pool whose initial buffer has the specified `initialSize` and growth strategy&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bdlma/SequentialPool/2constructor-0e6.adoc[SequentialPool](
    xref:BloombergLP/bsls/Types/size_type.adoc[bsls::Types::size&lowbar;type] initialSize,
    xref:BloombergLP/bsls/BlockGrowth/Strategy.adoc[bsls::BlockGrowth::Strategy] growthStrategy,
    xref:BloombergLP/bslma/Allocator.adoc[bslma::Allocator]* basicAllocator = 0);
----

[.small]#xref:BloombergLP/bdlma/SequentialPool/2constructor-0e6.adoc[_» more&period;&period;&period;_]#

Create a sequential pool with growth limited to `maxBufferSize`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bdlma/SequentialPool/2constructor-0c.adoc[SequentialPool](
    xref:BloombergLP/bsls/Types/size_type.adoc[bsls::Types::size&lowbar;type] initialSize,
    xref:BloombergLP/bsls/Types/size_type.adoc[bsls::Types::size&lowbar;type] maxBufferSize,
    xref:BloombergLP/bslma/Allocator.adoc[bslma::Allocator]* basicAllocator = 0);
----

[.small]#xref:BloombergLP/bdlma/SequentialPool/2constructor-0c.adoc[_» more&period;&period;&period;_]#

Create a sequential pool whose initial buffer has the specified `initialSize`, growth strategy, and alignment strategy&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bdlma/SequentialPool/2constructor-02c.adoc[SequentialPool](
    xref:BloombergLP/bsls/Types/size_type.adoc[bsls::Types::size&lowbar;type] initialSize,
    xref:BloombergLP/bsls/BlockGrowth/Strategy.adoc[bsls::BlockGrowth::Strategy] growthStrategy,
    xref:BloombergLP/bsls/Alignment/Strategy.adoc[bsls::Alignment::Strategy] alignmentStrategy,
    xref:BloombergLP/bslma/Allocator.adoc[bslma::Allocator]* basicAllocator = 0);
----

[.small]#xref:BloombergLP/bdlma/SequentialPool/2constructor-02c.adoc[_» more&period;&period;&period;_]#

Create a sequential pool with growth limited to `maxBufferSize` and the specified alignment strategy&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bdlma/SequentialPool/2constructor-0253.adoc[SequentialPool](
    xref:BloombergLP/bsls/Types/size_type.adoc[bsls::Types::size&lowbar;type] initialSize,
    xref:BloombergLP/bsls/Types/size_type.adoc[bsls::Types::size&lowbar;type] maxBufferSize,
    xref:BloombergLP/bsls/Alignment/Strategy.adoc[bsls::Alignment::Strategy] alignmentStrategy,
    xref:BloombergLP/bslma/Allocator.adoc[bslma::Allocator]* basicAllocator = 0);
----

[.small]#xref:BloombergLP/bdlma/SequentialPool/2constructor-0253.adoc[_» more&period;&period;&period;_]#

Create a sequential pool with growth limited to `maxBufferSize` and the specified growth strategy&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bdlma/SequentialPool/2constructor-09.adoc[SequentialPool](
    xref:BloombergLP/bsls/Types/size_type.adoc[bsls::Types::size&lowbar;type] initialSize,
    xref:BloombergLP/bsls/Types/size_type.adoc[bsls::Types::size&lowbar;type] maxBufferSize,
    xref:BloombergLP/bsls/BlockGrowth/Strategy.adoc[bsls::BlockGrowth::Strategy] growthStrategy,
    xref:BloombergLP/bslma/Allocator.adoc[bslma::Allocator]* basicAllocator = 0);
----

[.small]#xref:BloombergLP/bdlma/SequentialPool/2constructor-09.adoc[_» more&period;&period;&period;_]#

Create a sequential pool with growth limited to `maxBufferSize` and the specified growth and alignment strategies&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bdlma/SequentialPool/2constructor-01d.adoc[SequentialPool](
    xref:BloombergLP/bsls/Types/size_type.adoc[bsls::Types::size&lowbar;type] initialSize,
    xref:BloombergLP/bsls/Types/size_type.adoc[bsls::Types::size&lowbar;type] maxBufferSize,
    xref:BloombergLP/bsls/BlockGrowth/Strategy.adoc[bsls::BlockGrowth::Strategy] growthStrategy,
    xref:BloombergLP/bsls/Alignment/Strategy.adoc[bsls::Alignment::Strategy] alignmentStrategy,
    xref:BloombergLP/bslma/Allocator.adoc[bslma::Allocator]* basicAllocator = 0);
----

[.small]#xref:BloombergLP/bdlma/SequentialPool/2constructor-01d.adoc[_» more&period;&period;&period;_]#

Create a sequential pool, optionally deferring the initial buffer allocation&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bdlma/SequentialPool/2constructor-0b.adoc[SequentialPool](
    xref:BloombergLP/bsls/Types/size_type.adoc[bsls::Types::size&lowbar;type] initialSize,
    xref:BloombergLP/bsls/Types/size_type.adoc[bsls::Types::size&lowbar;type] maxBufferSize,
    xref:BloombergLP/bsls/BlockGrowth/Strategy.adoc[bsls::BlockGrowth::Strategy] growthStrategy,
    xref:BloombergLP/bsls/Alignment/Strategy.adoc[bsls::Alignment::Strategy] alignmentStrategy,
    bool allocateInitialBuffer,
    xref:BloombergLP/bslma/Allocator.adoc[bslma::Allocator]* basicAllocator = 0);
----

[.small]#xref:BloombergLP/bdlma/SequentialPool/2constructor-0b.adoc[_» more&period;&period;&period;_]#

== Parameters

[cols="1,4"]
|===
| Name| Description
| *initialSize*
| initial size in bytes of the internal buffer
| *basicAllocator*
| memory allocator&semi; null uses the default
| *alignmentStrategy*
| strategy used to align allocated memory blocks
| *growthStrategy*
| strategy controlling growth of internal buffers
| *maxBufferSize*
| maximum dynamically allocated buffer size in bytes
| *allocateInitialBuffer*
| `true` to allocate the initial buffer now
|===


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