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
Variant9(
    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;

Created with MrDocs