Assign the specified TYPE value to this object.

Synopsis

Declared in <bdlb_variant.h>

template<class TYPE>
Variant2<A1, A2>&
operator=(TYPE&& value)
requires !bsl::is_same<SelfType,
                      typename bsl::remove_cvref<TYPE>::type>::value;

Description

The contents of value are moved to this object with value left in a valid but unspecified state. The value currently held by this variant (if any) is destroyed if that value`s type is not the same as TYPE. 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‐assignment operator (below).

Return Value

reference providing modifiable access to this object

Parameters

Name

Description

value

value assigned to or stored in this variant

Created with MrDocs