Create a variant object having the specified value of template parameter TYPE that uses the specified basicAllocator to supply memory. If basicAllocator is 0, the currently installed default allocator is used. The contents of value are moved to the newly‐created object with value left in a valid but unspecified state. TYPE must be the same as one of the types that this variant can hold. Note that in C++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).

Synopsis

Declared in <bdlb_variant.h>

template<class TYPE>
Variant5(
    TYPE&& value,
    bslma::Allocator* basicAllocator)
requires !bsl::is_same<
                     SelfType,
                     typename bsl::remove_const<
                     typename bsl::remove_reference<TYPE>::type>::type>::value;

Created with MrDocs