Namespaces
Variants

std::experimental::propagate_const<T>:: operator=

From cppreference.net
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 .