BloombergLP::bdlb::Variant2::Variant2

Create a variant object having the specified value of template parameter TYPE by moving the contents of value to the newly-created object. Use the currently installed default allocator to supply memory. value is 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 does not take an allocator (below) or with the constructor taking a valueOrAllocator (above).

Synopsis

Declared in <bdlb_variant.h>

template<class TYPE>
explicit
Variant2(
    TYPE&& value,
    void* = 0)
requires !bsl::is_same<
                      SelfType,
                      typename bsl::remove_const<
                      typename bsl::remove_reference<TYPE>::type>::type>::value
                 &&
                 !bsl::is_convertible<TYPE, bslma::Allocator *>::value;