std::function_ref - cppreference.com
来自cppreference.com
| 在标头 |
||
template< class... > class function_ref; // 未定义 |
(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) 目标的引用 - 函数、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
|
存储的函数指针 (仅用于阐述的成员对象*) |
成员函数
推导指引
注解
| 功能特性测试宏 | 值 | 标准 | 功能特性 |
|---|---|---|---|
__cpp_lib_function_ref |
202306L |
(C++26) | std::function_ref
|