std::pair<T1,T2>::operator=
From cppreference.com
| (1) | ||
| pair& operator=( const pair& other ); |
(until C++20) | |
| constexpr pair& operator=( const pair& other ); |
(since C++20) | |
| (2) | ||
| template< class U1, class U2 > pair& operator=( const pair<U1,U2>& other ); |
(until C++20) | |
| template< class U1, class U2 > constexpr pair& operator=( const pair<U1,U2>& other ); |
(since C++20) | |
| (3) | ||
| pair& operator=( pair&& other ) noexcept(/* see below */); |
(since C++11) (until C++20) |
|
| constexpr pair& operator=( pair&& other ) noexcept(/* see below */); |
(since C++20) | |
| (4) | ||
| template< class U1, class U2 > pair& operator=( pair<U1,U2>&& other ); |
(since C++11) (until C++20) |
|
| template< class U1, class U2 > constexpr pair& operator=( pair<U1,U2>&& other ); |
(since C++20) | |
Replaces the contents of the pair.
1) Copy assignment operator. Replaces the contents with a copy of the contents of other.
2) Assigns
other.first to first and other.second to second3) Move assignment operator. Replaces the contents with those of
other using move semantics. |
The behavior of these functions is undefined unless:
|
(until C++17) |
|
These functions do not participate in overload resolution (or, for the copy assignment operator, is defined as deleted) if any required assignment operation is invalid. Specifically:
|
(since C++17) |
Parameters
| other | - | pair of values to replace the contents of this pair |
Return value
*this
Exceptions
1-2) (none)
3)
noexcept specification:
noexcept(
is_nothrow_move_assignable<T1>::value &&
is_nothrow_move_assignable<T2>::value
4) (none)
Example
| This section is incomplete Reason: no example |