23 General utilities library [utilities]
23.8 Storage for any type [any]
any& operator=(const any& rhs);
Effects:
As if by
any(rhs).swap(*this). No effects if an exception is thrown
.Throws:
Any exceptions arising from the copy constructor for the contained value
. any& operator=(any&& rhs) noexcept;
Effects:
As if by
any(std::move(rhs)).swap(*this). Postconditions:
The state of
*this is equivalent to the original state of
rhs
and
rhs is left in a valid but otherwise unspecified state
. template<class T>
any& operator=(T&& rhs);
Requires:
VT shall satisfy the
CopyConstructible requirements
. Effects:
Constructs an object
tmp of type
any that contains an object of type
VT direct-initialized with
std::forward<T>(rhs), and
tmp.swap(*this). No effects if an exception is thrown
.Remarks:
This operator shall not participate in overload resolution unless
VT is not the same type as
any and
is_copy_constructible_v<VT> is
true. Throws:
Any exception thrown by the selected constructor of
VT.