[#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 `<bslalg_nothrowmovablewrapper.h>` Value‐initialize the object wrapped by `*this`. For allocator‐aware `TYPE`, optionally specify an `alloc` (e.g., the address of a `bslma::Allocator` object) to supply memory; otherwise, the default allocator is used. [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..._]# Copy construct from the specified `original` wrapper using `TYPE`s copy constructor. [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..._]# Move construct from the specified `original` wrapper using `TYPE`s move constructor. Note that this move constructor is unconditionally `noexcept`, as that is the entire purpose of this wrapper. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:BloombergLP/bslalg/NothrowMovableWrapper-02/2constructor-0e.adoc[NothrowMovableWrapper](xref:BloombergLP/bslmf/MovableRef.adoc[bslmf::MovableRef<NothrowMovableWrapper>] original) noexcept; ---- [.small]#xref:BloombergLP/bslalg/NothrowMovableWrapper-02/2constructor-0e.adoc[_» more..._]# Wrap the specified `val`, using `TYPE`s move constructor. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:BloombergLP/bslalg/NothrowMovableWrapper-02/2constructor-06.adoc[NothrowMovableWrapper](xref:BloombergLP/bslmf/MovableRef.adoc[bslmf::MovableRef<TYPE>] val); ---- [.small]#xref:BloombergLP/bslalg/NothrowMovableWrapper-02/2constructor-06.adoc[_» more..._]# Wrap the specified `val`, using `TYPE`s (possibly extended) copy constructor. For allocator‐aware `TYPE`, optionally specify an `alloc` (e.g., the address of a `bslma::Allocator` object) to supply memory; otherwise, the default allocator is used. [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..._]# Same as the preceding constructor, using the specified `alloc` to supply memory. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:BloombergLP/bslalg/NothrowMovableWrapper-02/2constructor-022.adoc[NothrowMovableWrapper]( std::allocator_arg_t, xref:BloombergLP/bslalg/NothrowMovableWrapper-02/allocator_type.adoc[allocator_type] const& alloc); ---- [.small]#xref:BloombergLP/bslalg/NothrowMovableWrapper-02/2constructor-022.adoc[_» more..._]# Move construct from the specified `original` wrapper using `TYPE`s extended move constructor. Use the specified `alloc` (e.g., the address of a `bslma::Allocator` object) to supply memory. Note that this constructor will not be selected by overload resolution unless `TYPE` is allocator aware. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:BloombergLP/bslalg/NothrowMovableWrapper-02/2constructor-04.adoc[NothrowMovableWrapper]( std::allocator_arg_t, xref:BloombergLP/bslalg/NothrowMovableWrapper-02/allocator_type.adoc[allocator_type] const& alloc, xref:BloombergLP/bslmf/MovableRef.adoc[bslmf::MovableRef<NothrowMovableWrapper>] original); ---- [.small]#xref:BloombergLP/bslalg/NothrowMovableWrapper-02/2constructor-04.adoc[_» more..._]# Wrap the specified `val`, using `TYPE`s extended move constructor. Use the specified `alloc` (e.g., the address of a `bslma::Allocator` object) to supply memory. Note that this constructor will not be selected by overload resolution unless `TYPE` is allocator aware. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:BloombergLP/bslalg/NothrowMovableWrapper-02/2constructor-039.adoc[NothrowMovableWrapper]( std::allocator_arg_t, xref:BloombergLP/bslalg/NothrowMovableWrapper-02/allocator_type.adoc[allocator_type] const& alloc, xref:BloombergLP/bslmf/MovableRef.adoc[bslmf::MovableRef<TYPE>] val); ---- [.small]#xref:BloombergLP/bslalg/NothrowMovableWrapper-02/2constructor-039.adoc[_» more..._]# Copy construct from the specified `original` wrapper using `TYPE`s extended copy constructor. Use the specified `alloc` (e.g., the address of a `bslma::Allocator` object) to supply memory. Note that this constructor will not be selected by overload resolution unless `TYPE` is allocator aware. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:BloombergLP/bslalg/NothrowMovableWrapper-02/2constructor-05.adoc[NothrowMovableWrapper]( std::allocator_arg_t, xref:BloombergLP/bslalg/NothrowMovableWrapper-02/allocator_type.adoc[allocator_type] const& alloc, xref:BloombergLP/bslalg/NothrowMovableWrapper-02.adoc[NothrowMovableWrapper] const& original); ---- [.small]#xref:BloombergLP/bslalg/NothrowMovableWrapper-02/2constructor-05.adoc[_» more..._]# Same as the preceding constructor, using the specified `alloc` to supply memory. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:BloombergLP/bslalg/NothrowMovableWrapper-02/2constructor-021.adoc[NothrowMovableWrapper]( std::allocator_arg_t, xref:BloombergLP/bslalg/NothrowMovableWrapper-02/allocator_type.adoc[allocator_type] const& alloc, TYPE const& val); ---- [.small]#xref:BloombergLP/bslalg/NothrowMovableWrapper-02/2constructor-021.adoc[_» more..._]# [.small]#Created with https://www.mrdocs.com[MrDocs]#