std::copyable_function::operator()
From cppreference.com
< cpp | utility | functional | copyable function
| R operator()( Args... args ) /*cv*/ /*ref*/ noexcept(/*noex*/); |
(C++26以降) | |
格納された呼び出し可能なターゲットをパラメータargsで呼び出します。operator()の/*cv*/、/*ref*/、および/*noex*/の部分は、std::copyable_functionのテンプレートパラメータのものと同一です。
std::invoke_r<R>(/*cv-ref-cast*/(f), std::forward<Args>(args)...)と同等です。ここで、fは*thisのターゲットオブジェクトを示すcv-unqualifiedなlvalueであり、/*cv-ref-cast*/(f)は以下と同等です。
- f(cv refが空または&の場合)、または
- std::as_const(f)(cv refがconstまたはconst &の場合)、または
- std::move(f)(cv refが&&の場合)、または
- std::move(std::as_const(f))(cv refがconst &&の場合)。
*thisが空の場合、未定義の動作となります。
目次 |
[編集] Parameters
| args | - | 格納された呼び出し可能なターゲットに渡すパラメータ |
[編集] Return value
std::invoke_r<R>(/*cv-ref-cast*/(f), std::forward<Args>(args)...).
[編集] Exceptions
基になる関数呼び出しによってスローされた例外を伝播します。
[編集] Example
| このセクションは未完成です 理由: 例がありません |
[編集] See also
| ターゲットを呼び出す ( std::function<R(Args...)>のpublicメンバ関数) | |
| ターゲットを呼び出す ( std::move_only_functionのpublicメンバ関数) | |
| 保存された関数を呼び出す ( std::reference_wrapper<T>のpublicメンバ関数) | |
| (C++17)(C++23) |
任意の呼び出し可能 (Callable)オブジェクトを所与の引数で呼び出す (戻り値の型を指定することも可能)(C++23以降) (関数テンプレート) |