[#BloombergLP-bdlbb-Blob-2constructor-07]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlbb.adoc[bdlbb]::xref:BloombergLP/bdlbb/Blob.adoc[Blob]::Blob
:relfileprefix: ../../../
:mrdocs:

Constructors

== Synopses

Declared in `&lt;bdlbb&lowbar;blob&period;h&gt;`

Create a blob by moving from the specified `original` object&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bdlbb/Blob/2constructor-06.adoc[Blob](xref:BloombergLP/bslmf/MovableRef.adoc[bslmf::MovableRef&lt;Blob&gt;] original) noexcept;
----

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

Create an empty blob having no factory to allocate blob buffers&period;


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

[.small]#xref:BloombergLP/bdlbb/Blob/2constructor-0ff.adoc[_» more&period;&period;&period;_]#

Create a blob by moving from `original`, using the specified allocator&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bdlbb/Blob/2constructor-0f0.adoc[Blob](
    xref:BloombergLP/bslmf/MovableRef.adoc[bslmf::MovableRef&lt;Blob&gt;] original,
    xref:BloombergLP/bslma/Allocator.adoc[bslma::Allocator]* basicAllocator);
----

[.small]#xref:BloombergLP/bdlbb/Blob/2constructor-0f0.adoc[_» more&period;&period;&period;_]#

Create a blob that holds the same buffers as `original`, with no factory&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bdlbb/Blob/2constructor-00.adoc[Blob](
    xref:BloombergLP/bdlbb/Blob.adoc[Blob] const& original,
    xref:BloombergLP/bslma/Allocator.adoc[bslma::Allocator]* basicAllocator = 0);
----

[.small]#xref:BloombergLP/bdlbb/Blob/2constructor-00.adoc[_» more&period;&period;&period;_]#

Create an empty blob using the specified `factory` to allocate buffers&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
explicit
xref:BloombergLP/bdlbb/Blob/2constructor-04.adoc[Blob](
    xref:BloombergLP/bdlbb/BlobBufferFactory.adoc[BlobBufferFactory]* factory,
    xref:BloombergLP/bslma/Allocator.adoc[bslma::Allocator]* basicAllocator = 0);
----

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

Create a blob that holds the same buffers as `original`, with a factory&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bdlbb/Blob/2constructor-02.adoc[Blob](
    xref:BloombergLP/bdlbb/Blob.adoc[Blob] const& original,
    xref:BloombergLP/bdlbb/BlobBufferFactory.adoc[BlobBufferFactory]* factory,
    xref:BloombergLP/bslma/Allocator.adoc[bslma::Allocator]* basicAllocator = 0);
----

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

Create a blob that initially holds the specified buffers&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bdlbb/Blob/2constructor-09.adoc[Blob](
    xref:BloombergLP/bdlbb/BlobBuffer.adoc[BlobBuffer] const* buffers,
    int numBuffers,
    xref:BloombergLP/bdlbb/BlobBufferFactory.adoc[BlobBufferFactory]* factory,
    xref:BloombergLP/bslma/Allocator.adoc[bslma::Allocator]* basicAllocator = 0);
----

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

== Parameters

[cols="1,4"]
|===
| Name| Description
| *original*
| blob to move from
| *basicAllocator*
| allocator used to supply memory
| *factory*
| factory used to allocate blob buffers
| *buffers*
| array of blob buffers to hold initially
| *numBuffers*
| number of buffers in `buffers`
|===


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