std::experimental:: function
From cppreference.net
<
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
实例
(公开成员函数) |
|
|
分配新目标
(公开成员函数) |
|
|
交换内容
(公开成员函数) |
|
|
(removed in library fundamentals TS v3)
|
获取指向此对象用于分配内存的内存资源的指针
(公开成员函数) |
|
(library fundamentals TS v3)
|
获取此对象用于分配内存的类型擦除式
std::pmr::polymorphic_allocator
(公开成员函数) |
非成员函数
特化
swap
算法
(函数模板) |
|
|
(在库基础技术规范 v3 中移除)
|
比较
std::experimental::function
与
nullptr
(函数模板) |
辅助类
|
(在库基础技术规范 v3 中移除)
|
特化
std::uses_allocator
类型特征
(类模板特化) |
与 std:: function 相同的成员
成员类型
| 类型 | 定义 |
result_type
|
R
|
在 Library Fundamental 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
|
|
成员类型
|
(library fundamentals 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...)>
的公开成员函数)
|
|