[#BloombergLP-bdlma-SequentialAllocator-2constructor-0df]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlma.adoc[bdlma]::xref:BloombergLP/bdlma/SequentialAllocator.adoc[SequentialAllocator]::SequentialAllocator
:relfileprefix: ../../../
:mrdocs:

Constructors

== Synopses

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

Create a sequential allocator for allocating memory blocks from a sequence of dynamically&hyphen;allocated buffers, of which the initial buffer has the specified `initialSize` (in bytes)&period; Optionally specify a `basicAllocator` used to supply memory for the dynamically&hyphen;allocated buffers&period; If `basicAllocator` is 0, the currently installed default allocator is used&period; Optionally specify a `growthStrategy` used to control buffer growth&period; If no `growthStrategy` is specified, geometric growth is used&period; Optionally specify an `alignmentStrategy` used to control alignment of allocated memory blocks&period; If no `alignmentStrategy` is specified, natural alignment is used&period; An implementation&hyphen;defined value is used as the initial size of the internal buffer&period; The behavior is undefined unless `0 &lt; initialSize`&period; Note that no limit is imposed on the size of the internal buffers when geometric growth is used&period; Also note that when constant growth is used, the size of the internal buffers will always be the same as the implementation&hyphen;defined value&period; Also note that `SequentialAllocator(int initialSize)` is provided to avoid ambiguous definitions&period;


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

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

Create a sequential allocator for allocating memory blocks from a sequence of dynamically&hyphen;allocated buffers&period; Optionally specify a `basicAllocator` used to supply memory for the dynamically&hyphen;allocated buffers&period; If `basicAllocator` is 0, the currently installed default allocator is used&period; Optionally specify a `growthStrategy` used to control buffer growth&period; If no `growthStrategy` is specified, geometric growth is used&period; Optionally specify an `alignmentStrategy` used to control alignment of allocated memory blocks&period; If no `alignmentStrategy` is specified, natural alignment is used&period; Note that no limit is imposed on the size of the internal buffers when geometric growth is used&period;


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

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

See the overload above for contract&period;


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

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

See the overload above for contract&period;


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

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

See the overload above for contract&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
explicit
xref:BloombergLP/bdlma/SequentialAllocator/2constructor-0f.adoc[SequentialAllocator](
    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/SequentialAllocator/2constructor-0f.adoc[_» more&period;&period;&period;_]#

See the overload above for contract&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bdlma/SequentialAllocator/2constructor-0d5.adoc[SequentialAllocator](
    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/SequentialAllocator/2constructor-0d5.adoc[_» more&period;&period;&period;_]#

See the overload above for contract&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bdlma/SequentialAllocator/2constructor-08.adoc[SequentialAllocator](
    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/SequentialAllocator/2constructor-08.adoc[_» more&period;&period;&period;_]#

See the overload above for contract&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bdlma/SequentialAllocator/2constructor-045.adoc[SequentialAllocator](
    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/SequentialAllocator/2constructor-045.adoc[_» more&period;&period;&period;_]#

Create a sequential allocator for allocating memory blocks from a sequence of dynamically&hyphen;allocated buffers, of which the initial buffer has the specified `initialSize` (in bytes), and the buffer growth is limited to the specified `maxBufferSize`&period; Optionally specify a `basicAllocator` used to supply memory for the dynamically&hyphen;allocated buffers&period; If `basicAllocator` is 0, the currently installed default allocator is used&period; Optionally specify a `growthStrategy` used to control buffer growth&period; If no `growthStrategy` is specified, geometric growth is used&period; Optionally specify an `alignmentStrategy` used to control alignment of allocated memory blocks&period; If no `alignmentStrategy` is specified, natural alignment is used&period; The behavior is undefined unless `0 &lt; initialSize` and `initialSize &lt;&equals; maxBufferSize`&period; Note that when constant growth is used, the size of the internal buffers will always be the same as `initialSize`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bdlma/SequentialAllocator/2constructor-00.adoc[SequentialAllocator](
    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/SequentialAllocator/2constructor-00.adoc[_» more&period;&period;&period;_]#

See the overload above for contract&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bdlma/SequentialAllocator/2constructor-03.adoc[SequentialAllocator](
    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/SequentialAllocator/2constructor-03.adoc[_» more&period;&period;&period;_]#

See the overload above for contract&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bdlma/SequentialAllocator/2constructor-0b.adoc[SequentialAllocator](
    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/SequentialAllocator/2constructor-0b.adoc[_» more&period;&period;&period;_]#

See the overload above for contract&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bdlma/SequentialAllocator/2constructor-0a.adoc[SequentialAllocator](
    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/SequentialAllocator/2constructor-0a.adoc[_» more&period;&period;&period;_]#

See the overload above for contract&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bdlma/SequentialAllocator/2constructor-0c8.adoc[SequentialAllocator](
    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/SequentialAllocator/2constructor-0c8.adoc[_» more&period;&period;&period;_]#


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