来自cppreference.com
< cpp | experimental
| 在标头 <experimental/functional> 定义
|
||
template< class >
class function; /* 未定义 */
|
(库基础 TS) | |
template< class R, class... Args >
class function<R(Args...)>
|
(库基础 TS) | |
std::experimental::function 是 std::function 的修改版本,支持类型擦除分配器。
成员类型
| 类型 | 定义 | ||||
allocator_type
|
|
成员函数
构造新的 std::experimental::function 实例 (公开成员函数) | |
| 赋值新目标 (公开成员函数) | |
| 交换内容 (公开成员函数) | |
(库基础 TS v3 中移除) |
获得指向此对象用来分配内存的 memory_resource 的指针 (公开成员函数) |
(库基础 TS v3) |
获取此对象用以分配内存的擦除类型的 std::pmr::polymorphic_allocator (公开成员函数) |
非成员函数
特化 swap 算法 (函数模板) | |
(库基础 TS v3 中移除) |
比较 std::experimental::function 和 nullptr (函数模板) |
辅助类
(库基础 TS v3 中移除) |
特化 std::uses_allocator 类型特征 (类模板特化) |
等同于 std::function 的成员
成员类型
| 类型 | 定义 |
result_type
|
R
|
库基础 TS v3 中移除的成员类型 | |
argument_type
|
若 sizeof...(Args)==1 且 T 为 Args... 中第一个并为唯一的类型则为 T
|
first_argument_type
|
若 sizeof...(Args)==2 且 T1 为 Args... 中二个类型的第一个则为 T1
|
second_argument_type
|
若 sizeof...(Args)==2 且 T2 为 Args... 中二个类型的第二个则为 T2
|
|
成员类型 |
(库基础 TS v3) |
成员函数
| 析构 std::function 实例 ( std::function<R(Args...)> 的公开成员函数)
| |
| 检查是否包含目标 ( std::function<R(Args...)> 的公开成员函数)
| |
| 调用目标 ( std::function<R(Args...)> 的公开成员函数)
| |
目标访问 | |
获得所存储目标的 typeid ( std::function<R(Args...)> 的公开成员函数)
| |
| 获得指向所存储目标的指针 ( std::function<R(Args...)> 的公开成员函数)
| |