C++ 標準庫擴充套件
來自 cppreference.com
C++ 庫基礎擴充套件版本 1,ISO/IEC TS 19568:2015 定義了 C++ 標準庫的以下新元件
目錄 |
[編輯] 未選擇納入 C++17
ISO/IEC TS 19568:2015 的以下元件未選擇納入 C++17。
[編輯] 現有類的修改版本以支援型別擦除分配器
定義於標頭檔案
<experimental/functional> | |
一個修改版的 std::function,支援型別擦除分配器 (類模板) | |
定義於標頭檔案
<experimental/future> | |
一個修改版的 std::promise,支援型別擦除分配器 (類模板) | |
一個修改版的 std::packaged_task,支援型別擦除分配器 (類模板) |
[編輯] 記憶體資源介面卡
將分配器適配為 memory_resource (別名模板) |
[編輯] 通用工具
定義於標頭檔案
<experimental/utility> | |
型別擦除的佔位符型別,例如在分配器中 (類) | |
定義於標頭檔案
<experimental/type_traits> | |
推斷當使用給定引數型別呼叫時,可呼叫物件的隱式函式型別 (類模板) |
[編輯] 特性測試宏
定義於標頭檔案
<experimental/optional> | |
__cpp_lib_experimental_optional |
值至少為 201411 表示支援 optional 型別 (宏常量) |
定義於標頭檔案
<experimental/any> | |
__cpp_lib_experimental_any |
值至少為 201411 表示支援 any 型別 (宏常量) |
定義於標頭檔案
<experimental/string_view> | |
__cpp_lib_experimental_string_view |
值至少為 201411 表示支援 basic_string_view 模板 (宏常量) |
定義於標頭檔案
<experimental/tuple> | |
__cpp_lib_experimental_apply |
值至少為 201402 表示支援 tuple apply() 函式 (宏常量) |
定義於標頭檔案
<experimental/type_traits> | |
__cpp_lib_experimental_type_trait_variable_templates |
值至少為 201402 表示支援變數模板型別特徵 (宏常量) |
__cpp_lib_experimental_invocation_type |
值至少為 201406 表示支援呼叫型別特徵 (宏常量) |
定義於標頭檔案
<experimental/functional> | |
__cpp_lib_experimental_boyer_moore_searching |
值至少為 201411 表示支援額外的搜尋演算法 (宏常量) |
__cpp_lib_experimental_function_erased_allocator |
值至少為 201406 表示支援 std::function 的型別擦除分配器 (宏常量) |
定義於標頭檔案
<experimental/future> | |
__cpp_lib_experimental_promise_erased_allocator |
值至少為 201406 表示支援 std::promise 的型別擦除分配器 (宏常量) |
__cpp_lib_experimental_packaged_task_erased_allocator |
值至少為 201406 表示支援 std::packaged_task 的型別擦除分配器 (宏常量) |
定義於標頭檔案
<experimental/memory> | |
__cpp_lib_experimental_shared_ptr_arrays |
值至少為 201406 表示支援 shared_ptr 陣列 (宏常量) |
定義於標頭檔案
<experimental/memory_resource> | |
__cpp_lib_experimental_memory_resources |
值至少為 201402 表示支援多型記憶體資源 (宏常量) |
定義於標頭檔案
<experimental/algorithm> | |
__cpp_lib_experimental_sample |
值為 201402 表示支援 sample 演算法 (宏常量) |
[編輯] 已合併到 C++17
ISO/IEC TS 19568:2015 的以下元件已納入 C++17。
[編輯] optional 物件
定義於標頭檔案
<experimental/optional> | |
一個表示“可選物件”的類模板 (類模板) |
[編輯] 類 any
定義於標頭檔案
<experimental/any> | |
一個用於任意型別單個值的型別安全容器 (類) |
[編輯] string_view
定義於標頭檔案
<experimental/string_view> | |
對字串的非擁有引用 (類模板) |
[編輯] 型別擦除和多型分配器
[編輯] 多型分配器和記憶體資源
此部分中的實體在 std::experimental::pmr 名稱空間中宣告。
定義於標頭檔案
<experimental/memory_resource> | |
封裝記憶體資源的類的抽象介面 (類) | |
一個執行緒安全的 memory_resource,用於管理不同塊大小的池中的分配 (類) | |
一個非執行緒安全的 memory_resource,用於管理不同塊大小的池中的分配 (類) | |
一個特殊用途的 memory_resource,僅在資源被銷燬時才釋放已分配的記憶體 (類) | |
一個分配器,它根據構造時傳入的 memory_resource 支援執行時多型 (類模板) | |
返回一個靜態的程式範圍 memory_resource ,它使用全域性的 operator new 和 operator delete 來分配和釋放記憶體(函式) | |
返回一個靜態的 memory_resource ,它不執行任何分配(函式) | |
獲取預設的 memory_resource (函式) | |
設定預設的 memory_resource (函式) |
[編輯] 使用多型分配器的容器的便捷別名
在 std::experimental::pmr
名稱空間中為標準庫中的以下類模板提供了使用多型分配器的便捷別名和別名模板
提供便捷別名的容器模板列表 |
---|
[編輯]
定義於標頭檔案
<experimental/memory> | |
類 | 描述 |
一個支援陣列的修改版的 std::shared_ptr (類模板) | |
一個支援陣列的修改版的 std::weak_ptr (類模板) |
[編輯] 取樣和搜尋演算法
定義於標頭檔案
<experimental/algorithm> | |
從序列中選擇 n 個隨機元素 (函式模板) | |
將 Searcher 應用於序列 (函式模板) | |
定義於標頭檔案
<experimental/functional> | |
標準 C++ 庫搜尋演算法實現 (類模板) | |
建立 default_searcher 的輔助函式 (函式模板) | |
Boyer-Moore 搜尋演算法實現 (類模板) | |
建立 boyer_moore_searcher 的輔助函式 (函式模板) | |
Boyer-Moore-Horspool 搜尋演算法實現 (類模板) | |
建立 boyer_moore_horspool_searcher 的輔助函式 (函式模板) |
[編輯] 通用工具
定義於標頭檔案
<experimental/tuple> | |
呼叫一個函式,傳入一個引數元組 (函式模板) |
此外,TS 為標準庫中的以下型別特徵和其他類模板提供了大量 constexpr
變數模板