Assign to this object the specified value of template parameter TYPE, and return a reference providing modifiable access to this object. 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).
Declared in <bdlb_variant.h>
template<class TYPE>
Variant8<A1, A2, A3, A4, A5, A6, A7, A8>&
operator=(TYPE&& value)
requires !bsl::is_same<SelfType,
typename bsl::remove_cvref<TYPE>::type>::value;