C++ 标准库扩展 - cppreference.com
来自cppreference.com
C++ 库基础扩展之版本 1 (The C++ Extensions for Library Fundamentals),ISO/IEC TS 19568:2015 为 C++ 标准库定义下列新组件:
未选择包含于 C++17 中的部分
C++17 未选择包含 ISO/IEC TS 19568:2015 的下列组件。
支持类型擦除分配器的既存类修改版本
内存资源适配器
通用工具
特性测试宏
在标头 | |
__cpp_lib_experimental_optional |
至少为 201411 的值,指示支持 optional 类型 (宏常量) |
在标头 | |
__cpp_lib_experimental_any |
至少为 201411 的值,指示支持 any 类型 (宏常量) |
在标头 | |
__cpp_lib_experimental_string_view |
至少为 201411 的值,指示支持 basic_string_view 模板 (宏常量) |
在标头 | |
__cpp_lib_experimental_apply |
至少为 201402 的值,指示支持 tuple 的 apply() 函数 (宏常量) |
在标头 | |
__cpp_lib_experimental_type_trait_variable_templates |
至少为 201402 的值,指示支持类型特征的变量模板 (宏常量) |
__cpp_lib_experimental_invocation_type |
至少为 201406 的值,指示支持调用类型特征 (宏常量) |
在标头 | |
__cpp_lib_experimental_boyer_moore_searching |
至少为 201411 的值,指示支持附加搜索算法 (宏常量) |
__cpp_lib_experimental_function_erased_allocator |
至少为 201406 的值,指示支持 std::function 的类型擦除分配器 (宏常量) |
在标头 | |
__cpp_lib_experimental_promise_erased_allocator |
至少为 201406 的值,指示支持 std::promise 的类型擦除分配器 (宏常量) |
__cpp_lib_experimental_packaged_task_erased_allocator |
至少为 201406 的值,指示支持 std::packaged_task 的类型擦除分配器 (宏常量) |
在标头 | |
__cpp_lib_experimental_shared_ptr_arrays |
至少为 201406 的值,指示 shared_ptr 支持数组 (宏常量) |
__cpp_lib_experimental_memory_resources |
至少为 201402 的值,指示支持多态内存资源 (宏常量) |
在标头 | |
__cpp_lib_experimental_sample |
至少为 201402 的值,指示支持采样算法 (宏常量) |
已并入 C++17
ISO/IEC TS 19568:2015 的下列组件已包含于 C++17。
可选对象
类 any
string_view
类型擦除及多态分配器
多态分配器与内存资源
此节中的实体声明于 std::experimental::pmr 命名空间。
| 封装内存资源的类的抽象接口 (类) | |
| 线程安全的,在不同块大小的池中管理分配的 std::experimental::pmr::memory_resource (类) [编辑] | |
| 线程不安全的,在不同块大小的池中管理分配的 std::experimental::pmr::memory_resource (类) [编辑] | |
| 特殊用途的 memory_resource,它仅在销毁资源时释放分配的内存 (类) | |
| 支持运行时多态的分配器,多态基于构造所用的 memory_resource (类模板) | |
返回一个静态的程序范围 memory_resource,它使用全局 operator new 与 operator delete 分配和解分配内存 (函数) [编辑] | |
返回一个不进行任何分配的静态 memory_resource (函数) [编辑] | |
获取缺省 memory_resource (函数) [编辑] | |
设置缺省 memory_resource (函数) [编辑] | |
使用多态分配器的容器的便利别名
std::experimental::pmr 命名空间中为标准库中的下列类模板提供便利别名和别名模板:
| 提供了便利别名的容器模板列表 |
|---|
|
采样和搜索算法
在标头 | |
| 从序列中选择 n 个随机元素 (函数模板) | |
| 应用搜索器 (Searcher) 到序列 (函数模板) | |
在标头 | |
| 标准 C++ 库搜索算法实现 (类模板) | |
| 创建 default_searcher 的辅助函数 (函数模板) | |
| Boyer-Moore 搜索算法实现 (类模板) | |
| 创建 boyer_moore_searcher 的辅助函数 (函数模板) | |
| Boyer-Moore-Horspool 搜索算法实现 (类模板) | |
| 创建 boyer_moore_horspool_searcher 的辅助函数 (函数模板) | |
通用工具
另外,该 TS 为标准库中的类型特性和其他类模板提供大量 constexpr 变量模板:
| 提供了变量模板的类型特性和其他类模板 |
|---|
|