[#BloombergLP-bdlb-Variant13-2constructor-01]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlb.adoc[bdlb]::xref:BloombergLP/bdlb/Variant13.adoc[Variant13]::Variant13
:relfileprefix: ../../../
:mrdocs:

Create a variant object having the specified `value` of template parameter `TYPE` that uses the specified `basicAllocator` to supply memory&period; If `basicAllocator` is 0, the currently installed default allocator is used&period; The contents of `value` are moved to the newly&hyphen;created object with `value` left in a valid but unspecified state&period; `TYPE` must be the same as one of the types that this variant can hold&period; Note that in C&plus;&plus;11 mode, this method does not participate in overload resolution if it would lead to ambiguity with the move constructor that takes an allocator (below)&period;

== Synopsis

Declared in `&lt;bdlb&lowbar;variant&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class TYPE&gt;
Variant13(
    TYPE&& value,
    xref:BloombergLP/bslma/Allocator.adoc[bslma::Allocator]* basicAllocator)
requires !bsl&colon;&colon;is&lowbar;same&lt;
                     SelfType,
                     typename bsl&colon;&colon;remove&lowbar;const&lt;
                     typename bsl&colon;&colon;remove&lowbar;reference&lt;TYPE&gt;&colon;&colon;type&gt;&colon;&colon;type&gt;&colon;&colon;value;
----


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