std::function_ref
来自cppreference.com
< cpp | utility | functional
在标头 <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
支持在其模板形参中提供的(不含 volatile 的)cv 限定符和 noexcept 说明符的每种可能组合。
std::function_ref
的每个特化都是满足 copyable
的可平凡复制 (TriviallyCopyable) 类型。
目录 |
[编辑] 成员类型
成员 | 定义 |
BoundEntityType (私有)
|
未指明的可平凡复制 (TriviallyCopyable) 类型,它满足 copyable 并能够存储一个对象指针值或函数指针值(仅用于阐述的成员类型*) |
FunctionPointerType (私有)
|
R(*)(BoundEntityType , Args&&...) noexcept(noex )
其中 noex 当作为 |
[编辑] 数据成员
成员 | 定义 |
BoundEntityType bound-entity
|
绑定实体对象 (仅用于阐述的成员对象*) |
FunctionPointerType thunk-ptr
|
存储的函数指针 (仅用于阐述的成员对象*) |
[编辑] 成员函数
构造新 function_ref 对象 (公开成员函数) | |
赋值给 function_ref (公开成员函数) | |
调用 function_ref 所存储的代码段(trunk) (公开成员函数) |
[编辑] 推导指引
[编辑] 注解
功能特性测试宏 | 值 | 标准 | 功能特性 |
---|---|---|---|
__cpp_lib_function_ref |
202306L |
(C++26) | std::function_ref
|
[编辑] 示例
本节未完成 原因:example |
[编辑] 参阅
(C++11) |
任意可复制构造的可调用对象的可复制包装 (类模板) |
(C++26) |
任意可复制构造的可调用对象的可复制包装,支持给定调用签名中的限定符 (类模板) |
(C++23) |
任意可调用对象的仅移动包装,支持给定调用签名中的限定符 (类模板) |
(C++26) |
值构造标签 (标签) |