std::experimental::ranges::tagged<Base,Tags...>::operator=
From cppreference.com
< cpp | experimental | ranges | utility/tagged
| tagged &operator=( tagged&& that ) = default; |
(1) | |
| tagged &operator=( const tagged& that ) = default; |
(2) | |
| template< class Other > requires Assignable<Base&, Other> |
(3) | |
| template< class Other > requires Assignable<Base&, const Other&> |
(4) | |
| template< class U > requires Assignable<Base&, U> && !Same<std::decay_t<U>, tagged> |
(5) | |
that の内容を *this に代入します。
1,2) `tagged` は、`Base` の対応する代入演算子を呼び出す、デフォルトのコピー代入演算子とムーブ代入演算子を持ちます。
3) タグが一致する別の `tagged` スペシャライゼーションからの変換ムーブ代入。 static_cast<Base&>(*this) = static_cast<Other&&>(that); と同等です。
4) タグが一致する別の `tagged` スペシャライゼーションからの変換コピー代入。 static_cast<Base&>(*this) = static_cast<const Other&>(that); と同等です。
[編集] 戻り値
*this.