命名空间
变体
操作

std::experimental::function

来自 cppreference.com
 
 
实验性
技术规范
文件系统库 (文件系统 TS)
库基础 (库基础 TS)
库基础 2 (库基础 TS v2)
库基础 3 (库基础 TS v3)
并行扩展 (并行 TS)
并行扩展 2 (并行 TS v2)
并发扩展 (并发 TS)
并发扩展 2 (并发 TS v2)
概念 (概念 TS)
范围 (范围 TS)
反射 (反射 TS)
数学特殊函数 (特殊函数 TR)
实验性非 TS
模式匹配
线性代数
std::execution
契约
2D 图形
 
 
 
定义在头文件 <experimental/functional>
template< class >
class function; /* 未定义 */
(库基础 TS)
template< class R, class... Args >
class function<R(Args...)>
(库基础 TS)

std::experimental::functionstd::function 的修改版本,支持类型擦除分配器。

内容

[编辑] 成员类型

类型 定义
allocator_type

std::experimental::erased_type

(库基础 TS)
(直到库基础 TS v3)

std::pmr::polymorphic_allocator<>

(库基础 TS v3)

[编辑] 成员函数

构造新的 std::experimental::function 实例
(公共成员函数) [编辑]
分配新的目标
(公共成员函数) [编辑]
交换内容
(公共成员函数) [编辑]
(在库基础 TS v3 中删除)
检索指向此对象用于分配内存的内存资源的指针
(公共成员函数) [编辑]
(库基础 TS v3)
检索此对象用于分配内存的类型擦除的 std::pmr::polymorphic_allocator
(公共成员函数) [编辑]

[编辑] 非成员函数

专门化 swap 算法
(函数模板) [编辑]
(在库基础 TS v3 中删除)
std::experimental::functionnullptr 进行比较
(函数模板) [编辑]

[编辑] 辅助类

专门化 std::uses_allocator 类型特征
(类模板专门化) [编辑]

std::function 相同的成员

成员类型

类型 定义
result_type R
在库基础 TS v3 中删除的成员类型
argument_type 如果 sizeof...(Args) == 1TArgs... 中的第一个也是唯一的类型,则为 T
first_argument_type 如果 sizeof...(Args) == 2T1Args... 中的两个类型中的第一个,则为 T1
second_argument_type 如果 sizeof...(Args) == 2T2Args... 中的两个类型中的第二个,则为 T2

成员类型 argument_typefirst_argument_typesecond_argument_type 已删除,因为 std::function 的对应成员类型在 C++20 中被删除。

(库基础 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...)> 的公共成员函数) [编辑]