Create a variant by moving from the specified value.

Synopsis

Declared in <bdlb_variant.h>

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

Description

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).

Parameters

Name

Description

value

value assigned to or stored in this variant

Created with MrDocs