Scroll to navigation

std::any::operator=(3) C++ Standard Libary std::any::operator=(3)

NAME

std::any::operator= - std::any::operator=

Synopsis


any& operator=( const any& rhs ); (1) (since C++17)
any& operator=( any&& rhs ) noexcept; (2) (since C++17)
template<typename ValueType> (3) (since C++17)
any& operator=( ValueType&& rhs );


Assigns contents to the contained value.


1) Assigns by copying the state of rhs, as if by any(rhs).swap(*this).
2) Assigns by moving the state of rhs, as if by any(std::move(rhs)).swap(*this). rhs
is left in a valid but unspecified state after the assignment.
3) Assigns the type and value of rhs, as if by
any(std::forward<ValueType>(rhs)).swap(*this). This overload participates in
overload resolution only if std::decay_t<ValueType> is not the same type as any and
std::is_copy_constructible_v<std::decay_t<ValueType>> is true. .

Template parameters


ValueType - contained value type

Type requirements


-
std::decay_t<ValueType> must meet the requirements of CopyConstructible.

Parameters


rhs - object whose contained value to assign

Return value


*this

Exceptions


1,3) Throws bad_alloc or any exception thrown by the constructor of the contained
type. If an exception is thrown, there are no effects (strong exception guarantee).

Example


This section is incomplete
Reason: no example

See also


constructor constructs an any object
(public member function)

2022.07.31 http://cppreference.com