std::copyable_function::operator=
ja.cppreference.net より
copyable_function& operator=( const copyable_function& other );
|
(1) | (C++26以上) |
copyable_function& operator=( copyable_function&& other );
|
(2) | (C++26以上) |
copyable_function& operator=( std::nullptr_t ) noexcept;
|
(3) | (C++26以上) |
template< class F >
copyable_function& operator=( F&& f );
|
(4) | (C++26以上) |
std::copyable_function に新しいターゲットを代入するか、そのターゲットを破棄する。
1)
other のターゲットのコピーを *this に代入する。あたかも auto(other).swap(*this) を実行したかのように振る舞う。2)
other のターゲットを *this にムーブするか、*this が空の場合は other のターゲット(もしあれば)を破棄する。これは auto(std::move(other)).swap(*this) によって行われる。ムーブ代入後、other は有効であるが未規定の値を持つ状態になる。3) 現在のターゲットが存在すればそれを破棄する。呼び出し後、
*this は空になる。4)
*this のターゲットを呼び出し可能な f に設定する。あるいは、f がヌル関数ポインタ、メンバ関数へのヌルポインタ、または空の std::copyable_function である場合、現在のターゲットを破棄する。これはあたかも copyable_function(std::forward<F>(f)).swap(*this); を実行したかのように振る舞う。このオーバーロードは、copyable_function のコンストラクタが F からのオーバーロード解決に参加する場合にのみ、オーバーロード解決に参加する。選択されたコンストラクタの呼び出しが ill-formed であるか未定義動作を引き起こす場合、プログラムは ill-formed であるか、未定義動作を引き起こす。パラメータ
| other | - |
コピーまたは移動する対象となる別の
std::copyable_function
オブジェクト
|
| f | - | 新しいターゲットを初期化するための呼び出し可能オブジェクト |
戻り値
* this
例
|
このセクションは不完全です
理由: 例がありません |
関連項目
|
新しいターゲットを割り当てる
(
std::function<R(Args...)>
の公開メンバ関数)
|
|
|
ターゲットを置き換えるか破棄する
(
std::move_only_function
の公開メンバ関数)
|