std::experimental::propagate_const<T>:: operator=
From cppreference.net
<
cpp
|
experimental
|
propagate const
|
constexpr
propagate_const
&
operator
=
(
propagate_const
&&
p
)
=
default
;
|
(1) | (ライブラリ基盤仕様 TS v2) |
|
template
<
class
U
>
constexpr propagate_const & operator = ( propagate_const < U > && pu ) ; |
(2) | (ライブラリ基盤仕様 TS v2) |
|
template
<
class
U
>
constexpr propagate_const & operator = ( U && u ) ; |
(3) | (ライブラリ基盤仕様 TS v2) |
|
propagate_const
&
operator
=
(
const
propagate_const
&
)
=
delete
;
|
(4) | (ライブラリ基盤仕様 TS v2) |
Let
t_
が、ラップされたポインタライクなオブジェクトであるプライベートデータメンバを指すものとします。
1)
明示的にデフォルト化されたムーブ代入演算子で、
this
-
>
t_
を
p.
t_
からムーブ代入する。
2)
std
::
move
(
pu.
t_
)
を
this
-
>
t_
に代入する。
このオーバーロードは、
このオーバーロードは、
U
が
T
に暗黙的に変換可能な場合にのみ、オーバーロード解決に参加する。
3)
std::
forward
<
U
>
(
u
)
を
this
-
>
t_
に代入する。
このオーバーロードは、
このオーバーロードは、
U
が
T
に暗黙的に変換可能であり、かつ
std::
decay_t
<
U
>
が
propagate_const
の特殊化ではない場合にのみ、オーバーロード解決に参加する。
4)
コピー代入演算子は明示的に削除されています。
propagate_const
はコピー不可です。
パラメータ
| p | - |
移動元の別の
propagate_const
オブジェクト
|
| pu | - |
移動元の異なる特殊化の別の
propagate_const
オブジェクト
|
| u | - | 包含ポインタに割り当てる別のオブジェクト |
戻り値
* this .