[#BloombergLP-bslalg-NothrowMovableWrapper-02-2constructor-0c]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslalg.adoc[bslalg]::xref:BloombergLP/bslalg/NothrowMovableWrapper-02.adoc[NothrowMovableWrapper]::NothrowMovableWrapper
:relfileprefix: ../../../
:mrdocs:

Constructors

== Synopses

Declared in `&lt;bslalg&lowbar;nothrowmovablewrapper&period;h&gt;`

Value&hyphen;initialize the object wrapped by `&ast;this`&period; For allocator&hyphen;aware `TYPE`, optionally specify an `alloc` (e&period;g&period;, the address of a `bslma&colon;&colon;Allocator` object) to supply memory&semi; otherwise, the default allocator is used&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bslalg/NothrowMovableWrapper-02/2constructor-034.adoc[NothrowMovableWrapper]();
----

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

Copy construct from the specified `original` wrapper using `TYPE`s copy constructor&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bslalg/NothrowMovableWrapper-02/2constructor-08.adoc[NothrowMovableWrapper](xref:BloombergLP/bslalg/NothrowMovableWrapper-02.adoc[NothrowMovableWrapper] const& original);
----

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

Move construct from the specified `original` wrapper using `TYPE`s move constructor&period; Note that this move constructor is unconditionally `noexcept`, as that is the entire purpose of this wrapper&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bslalg/NothrowMovableWrapper-02/2constructor-0e.adoc[NothrowMovableWrapper](xref:BloombergLP/bslmf/MovableRef.adoc[bslmf::MovableRef&lt;NothrowMovableWrapper&gt;] original) noexcept;
----

[.small]#xref:BloombergLP/bslalg/NothrowMovableWrapper-02/2constructor-0e.adoc[_» more&period;&period;&period;_]#

Wrap the specified `val`, using `TYPE`s move constructor&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bslalg/NothrowMovableWrapper-02/2constructor-06.adoc[NothrowMovableWrapper](xref:BloombergLP/bslmf/MovableRef.adoc[bslmf::MovableRef&lt;TYPE&gt;] val);
----

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

Wrap the specified `val`, using `TYPE`s (possibly extended) copy constructor&period; For allocator&hyphen;aware `TYPE`, optionally specify an `alloc` (e&period;g&period;, the address of a `bslma&colon;&colon;Allocator` object) to supply memory&semi; otherwise, the default allocator is used&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bslalg/NothrowMovableWrapper-02/2constructor-0a.adoc[NothrowMovableWrapper](TYPE const& val);
----

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

Same as the preceding constructor, using the specified `alloc` to supply memory&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bslalg/NothrowMovableWrapper-02/2constructor-022.adoc[NothrowMovableWrapper](
    std::allocator&lowbar;arg&lowbar;t,
    xref:BloombergLP/bslalg/NothrowMovableWrapper-02/allocator_type.adoc[allocator&lowbar;type] const& alloc);
----

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

Move construct from the specified `original` wrapper using `TYPE`s extended move constructor&period; Use the specified `alloc` (e&period;g&period;, the address of a `bslma&colon;&colon;Allocator` object) to supply memory&period; Note that this constructor will not be selected by overload resolution unless `TYPE` is allocator aware&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bslalg/NothrowMovableWrapper-02/2constructor-04.adoc[NothrowMovableWrapper](
    std::allocator&lowbar;arg&lowbar;t,
    xref:BloombergLP/bslalg/NothrowMovableWrapper-02/allocator_type.adoc[allocator&lowbar;type] const& alloc,
    xref:BloombergLP/bslmf/MovableRef.adoc[bslmf::MovableRef&lt;NothrowMovableWrapper&gt;] original);
----

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

Wrap the specified `val`, using `TYPE`s extended move constructor&period; Use the specified `alloc` (e&period;g&period;, the address of a `bslma&colon;&colon;Allocator` object) to supply memory&period; Note that this constructor will not be selected by overload resolution unless `TYPE` is allocator aware&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bslalg/NothrowMovableWrapper-02/2constructor-039.adoc[NothrowMovableWrapper](
    std::allocator&lowbar;arg&lowbar;t,
    xref:BloombergLP/bslalg/NothrowMovableWrapper-02/allocator_type.adoc[allocator&lowbar;type] const& alloc,
    xref:BloombergLP/bslmf/MovableRef.adoc[bslmf::MovableRef&lt;TYPE&gt;] val);
----

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

Copy construct from the specified `original` wrapper using `TYPE`s extended copy constructor&period; Use the specified `alloc` (e&period;g&period;, the address of a `bslma&colon;&colon;Allocator` object) to supply memory&period; Note that this constructor will not be selected by overload resolution unless `TYPE` is allocator aware&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bslalg/NothrowMovableWrapper-02/2constructor-05.adoc[NothrowMovableWrapper](
    std::allocator&lowbar;arg&lowbar;t,
    xref:BloombergLP/bslalg/NothrowMovableWrapper-02/allocator_type.adoc[allocator&lowbar;type] const& alloc,
    xref:BloombergLP/bslalg/NothrowMovableWrapper-02.adoc[NothrowMovableWrapper] const& original);
----

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

Same as the preceding constructor, using the specified `alloc` to supply memory&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bslalg/NothrowMovableWrapper-02/2constructor-021.adoc[NothrowMovableWrapper](
    std::allocator&lowbar;arg&lowbar;t,
    xref:BloombergLP/bslalg/NothrowMovableWrapper-02/allocator_type.adoc[allocator&lowbar;type] const& alloc,
    TYPE const& val);
----

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


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