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 中移除)
获得指向此对象用来分配内存的 memory_resource 的指针
(公开成员函数)[编辑]
(库基础 TS v3)
获取此对象用以分配内存的擦除类型的 std::pmr::polymorphic_allocator
(公开成员函数)[编辑]

[编辑]非成员函数

特化 swap 算法
(函数模板)[编辑]
(库基础 TS v3 中移除)
比较 std::experimental::functionnullptr
(函数模板)[编辑]

[编辑]辅助类

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

等同于 std::function 的成员

成员类型

类型 定义
result_typeR
库基础 TS v3 中移除的成员类型
argument_typesizeof...(Args)==1TArgs... 中第一个并为唯一的类型则为 T
first_argument_typesizeof...(Args)==2T1Args... 中二个类型的第一个则为 T1
second_argument_typesizeof...(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...)> 的公开成员函数)[编辑]
close