std::function_ref
來自 cppreference.com
定義於標頭檔案 <functional> |
||
template< class... > class function_ref; // 未定義 |
(1) | (C++26 起) |
template< class R, class... Args > class function_ref<R(Args...)>; |
(2) | (C++26 起) |
類模板 std::function_ref
是一個非擁有的函式包裝器。std::function_ref
物件可以儲存並呼叫對可呼叫 (Callable) 目標的引用——函式、lambda 表示式、繫結表示式或其他函式物件,但不包括指向成員函式的指標和指向成員物件的指標。std::nontype 可以透過傳遞函式指標、指向成員函式的指標和指向成員物件的指標來構造 std::function_ref
。
std::function_ref
支援其模板引數中提供的 cv-限定符(不包括 volatile)和 noexcept-說明符的所有可能組合。
std::function_ref
的每個特化都是一個 可平凡複製 (TriviallyCopyable) 型別,它滿足 copyable
。
目錄 |
[編輯] 成員型別
成員 | 定義 |
BoundEntityType (私有) |
未指定 可平凡複製 (TriviallyCopyable) 型別,它滿足 copyable 並且能夠儲存物件指標值或函式指標值(僅供說明的成員型別*) |
FunctionPointerType (私有) |
R(*)(BoundEntityType , Args&&...) noexcept(noex )
其中 noex 為 true,如果 |
[編輯] 資料成員
成員 | 定義 |
BoundEntityType bound-entity |
一個繫結的實體物件 (僅用於闡釋的成員物件*) |
FunctionPointerType thunk-ptr |
一個儲存的函式指標 (僅用於闡釋的成員物件*) |
[編輯] 成員函式
構造一個新的 function_ref 物件(public 成員函式) | |
賦值一個 function_ref (public 成員函式) | |
呼叫 function_ref 儲存的 thunk(public 成員函式) |
[編輯] 推導指南
[編輯] 注意
特性測試宏 | 值 | 標準 | 特性 |
---|---|---|---|
__cpp_lib_function_ref |
202306L |
(C++26) | std::function_ref
|
[編輯] 示例
本節不完整 原因:示例 |
[編輯] 參閱
(C++11) |
任何可複製構造的可呼叫物件的包裝器 (類模板) |
(C++26) |
任何可複製構造的可呼叫物件的包裝器,支援給定呼叫簽名中的限定符 (類模板) |
(C++23) |
任何支援給定呼叫簽名中限定符的可呼叫物件的僅移動包裝器 (類模板) |
(C++26) |
值構造標籤 (標籤) |