名前空間
変種
操作

std::function<R(Args...)>::operator=

提供: cppreference.com
< cpp‎ | utility‎ | functional‎ | function
 
 
ユーティリティライブラリ
汎用ユーティリティ
日付と時間
関数オブジェクト
書式化ライブラリ(C++20)
(C++11)
関係演算子 (C++20で非推奨)
整数比較関数
(C++20)
スワップと型操作
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
一般的な語彙の型
(C++11)
(C++17)
(C++17)
(C++17)
(C++17)

初等文字列変換
(C++17)
(C++17)
 
関数オブジェクト
関数ラッパー
(C++11)
(C++11)
関数の部分適用
(C++20)
(C++11)
関数呼び出し
(C++17)
恒等関数オブジェクト
(C++20)
参照ラッパー
(C++11)(C++11)
演算子ラッパー
否定子
(C++17)
検索子
古いバインダとアダプタ
(C++17未満)
(C++17未満)
(C++17未満)
(C++17未満)
(C++17未満)(C++17未満)(C++17未満)(C++17未満)
(C++20未満)
(C++20未満)
(C++17未満)(C++17未満)
(C++17未満)(C++17未満)

(C++17未満)
(C++17未満)(C++17未満)(C++17未満)(C++17未満)
(C++20未満)
(C++20未満)
 
 
function& operator=(const function& other );
(1) (C++11以上)
function& operator=( function&& other );
(2) (C++11以上)
(3)
function& operator=(std::nullptr_t);
(C++11以上)
(C++17未満)
function& operator=(std::nullptr_t)noexcept;
(C++17以上)
template<class F >
function& operator=( F&& f );
(4) (C++11以上)
template<class F >
function& operator=(std::reference_wrapper<F> f )noexcept;
(5) (C++11以上)

新しいターゲットstd::function に代入します。

1)function(other).swap(*this); を実行したかのように、 otherターゲットのコピーを代入します。
2)otherターゲット*this にムーブします。 other は未規定な値を持つ有効な状態になります。
3) 現在のターゲットを捨てます。 *thisになります。
4)function(std::forward<F>(f)).swap(*this); を実行したかのように、 *thisターゲットf に設定します。 この演算子は、 f が引数型 Args... および戻り値型 R に対して Callable でなければ、オーバーロード解決に参加しません。(C++14以上)
5)function(f).swap(*this); を実行したかのように、 *thisターゲットf のコピーに設定します。

目次

[編集]引数

other - ターゲットをコピーする別の std::function オブジェクト
f - ターゲットを初期化する callable
型の要件
-
FCallable の要件を満たさなければなりません。

[編集]戻り値

*this

[編集]ノート

C++17 でアロケータのサポートが std::function から削除される前でも、これらの代入演算子は *this のアロケータや other のアロケータではなく、デフォルトのアロケータを使用します (LWG #2386 を参照してください)。

[編集]関連項目

(C++17で削除)
新しいターゲットを代入します
(パブリックメンバ関数)[edit]
close