std::experimental::ranges::tagged<Base,Tags...>:: operator=
|
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 。
tagged
具有默认的复制和移动赋值运算符,这些运算符会调用
Base
的对应赋值运算符。
tagged
特化版本转换移动赋值操作。等效于
static_cast
<
Base
&
>
(
*
this
)
=
static_cast
<
Other
&&
>
(
that
)
;
。
tagged
特化进行复制赋值转换。等效于
static_cast
<
Base
&
>
(
*
this
)
=
static_cast
<
const
Other
&
>
(
that
)
;
。
返回值
* this 。