std::function_ref
| ヘッダ <functional>
|
||
template< class... >
class function_ref; // not defined
|
で定義 (1) | (C++26以上) |
template< class R, class... Args >
class function_ref<R(Args...)>;
template< class R, class... Args >
class function_ref<R(Args...) noexcept>;
template< class R, class... Args >
class function_ref<R(Args...) const>;
template< class R, class... Args >
class function_ref<R(Args...) const noexcept>;
|
(2) | (C++26以上) |
クラステンプレート std::function_ref は、非所有権の関数ラッパーです。 std::function_ref オブジェクトは、Callable ターゲット (関数、ラムダ式、bind式、またはその他の関数オブジェクト) への参照を格納および呼び出しできますが、メンバ関数へのポインタとメンバオブジェクトへのポインタは格納できません。 std::nontype は、関数ポインタ、メンバ関数へのポインタ、メンバオブジェクトへのポインタを渡すことで std::function_ref を構築するために使用できます。
std::function_ref は、テンプレートパラメータで指定された cv修飾子 (volatile を除く) および noexcept指定子 のすべての可能な組み合わせをサポートします。
std::function_ref のすべての特殊化は、TriviallyCopyable 型であり、copyable を満たします。
メンバー型
| メンバー | 定義 |
BoundEntityType
(private)
|
unspecified
TriviallyCopyable
要件を満たし、
copyable
であり、オブジェクトへのポインタ値または関数へのポインタ値を格納可能な型
( 説明専用メンバー型* ) |
FunctionPointerType
(private)
|
R
(
*
)
(
BoundEntityType
, Args
&&
...
)
noexcept
(
noex
)
ここで
noex
は、
|
データメンバ
| メンバー | 定義 |
BoundEntityType
bound-entity
|
バインドされたエンティティオブジェクト
( 説明専用メンバーオブジェクト* ) |
FunctionPointerType
thunk-ptr
|
格納された関数ポインタ
( 説明専用メンバーオブジェクト* ) |
メンバー関数
新しい
function_ref
オブジェクトを構築する
(公開メンバ関数) |
|
function_ref
を代入する
(公開メンバ関数) |
|
function_ref
の格納されたサンクを呼び出す
(公開メンバ関数) |
推論ガイド
注記
| 機能テスト マクロ | 値 | 標準 | 機能 |
|---|---|---|---|
__cpp_lib_function_ref
|
202306L
|
(C++26) |
std::function_ref
|
例
|
このセクションは不完全です
理由: example |
関連項目
|
(C++11)
|
任意のコピー構築可能な呼び出し可能オブジェクトのコピー可能ラッパー
(クラステンプレート) |
|
(C++26)
|
指定された呼び出しシグネチャで修飾子をサポートする任意のコピー構築可能な呼び出し可能オブジェクトのコピー可能ラッパー
(クラステンプレート) |
|
(C++23)
|
指定された呼び出しシグネチャで修飾子をサポートする任意の呼び出し可能オブジェクトのムーブ専用ラッパー
(クラステンプレート) |
|
(C++26)
|
値構築タグ
(タグ) |