名前空間
変種
操作

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

From cppreference.com
 
 
 
 
 
constexpr propagate_const& operator=( propagate_const&& p ) = default;
(1) (Library Fundamentals TS v2)
template< class U >
constexpr propagate_const& operator=( propagate_const<U>&& pu );
(2) (Library Fundamentals TS v2)
template< class U >
constexpr propagate_const& operator=( U&& u );
(3) (Library Fundamentals TS v2)
propagate_const& operator=( const propagate_const& ) = delete;
(4) (Library Fundamentals TS v2)

t_を、ラップされたポインタライクなオブジェクトであるプライベートメンバ変数とします。

1) 明示的にデフォルト化されたムーブ代入演算子。 p.t_ から this->t_ へムーブ代入を行います。
std::move(pu.t_)this->t_ に代入します。
このオーバーロードは、UT に暗黙的に変換可能である場合にのみ、オーバーロード解決に参加します。
std::forward<U>(u)this->t_ に代入します。
このオーバーロードは、UT に暗黙的に変換可能であり、かつ std::decay_t<U>propagate_const の特殊化でない場合にのみ、オーバーロード解決に参加します。
4) コピー代入演算子は明示的に削除されています。propagate_const はコピー不可能です。

[編集] パラメータ

p - ムーブ元の別の propagate_const オブジェクト
pu - ムーブ元の、特殊化が異なる別の propagate_const オブジェクト
u - 格納されたポインタに代入する別のオブジェクト

[編集] 戻り値

*this.

English 日本語 中文(简体) 中文(繁體)