命名空間
變體
動作

C++ 標準程式庫擴充

出自 cppreference.com
 
 
實驗性
技術規範
檔案系統函式庫 (filesystem TS)
函式庫基礎 (Library fundamentals) (函式庫基礎 TS)
函式庫基礎 2 (library fundamentals TS v2)
函式庫基礎 3 (library fundamentals TS v3)
平行化擴充 (parallelism TS)
平行化擴充 2 (parallelism TS v2)
並行化擴充 (concurrency TS)
並行化擴充 2 (concurrency TS v2)
概念 (concepts TS)
範圍 (ranges TS)
反射 (reflection TS)
數學特殊函數 (special functions TR)
實驗性非 TS
模式匹配
線性代數
std::execution
合約
2D 圖形
 
 

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>
用於型別擦除(例如在配置器中)的預留型別
(class)
定義於標頭檔 <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 表示支援變數模板型別特徵 (Type Trait)
(巨集常數)
__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 陣列
(巨集常數)
__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>
代表 optional 物件 的類別模板
(類別模板)

[編輯] any 類別

定義於標頭檔 <experimental/any>
用於儲存任何型別之單一數值的型別安全容器
(class)

[編輯] string_view

定義於標頭檔 <experimental/string_view>
指向字串的非擁有參考
(類別模板)

[編輯] 型別擦除與多型配置器

[編輯] 多型配置器與記憶體資源

本章節的實體宣告於 std::experimental::pmr 命名空間中。

用於封裝記憶體資源的類別的抽象介面
(class)
用於管理不同區塊大小之記憶體池配置的執行緒安全 memory_resource
(類別) [編輯]
用於管理不同區塊大小之記憶體池配置的執行緒不安全 memory_resource
(類別) [編輯]
一種特殊用途的 memory_resource,僅在該資源被銷毀時才會釋放已配置的記憶體
(class)
一種支援執行時期多型的配置器,基於建構時提供的 memory_resource
(類別模板)
回傳一個靜態的程式全域 memory_resource,它使用全域的 operator newoperator delete 來配置與釋放記憶體
(函式) [編輯]
回傳一個不進行任何配置的靜態 memory_resource
(函式) [編輯]
取得預設的 memory_resource
(函式) [編輯]
設定預設的 memory_resource
(函式) [編輯]

[編輯] 使用多型配置器的容器之便利別名

std::experimental::pmr 命名空間中,針對標準程式庫中的下列類別模板提供了使用多型配置器的 便利別名與別名模板

提供便利別名的容器模板列表

[編輯] shared_ptr 對陣列的支援

定義於標頭檔 <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>
將函式呼叫應用於元組 (tuple) 的引數
(函式模板)

此外,TS 為標準程式庫中的下列型別特徵與其他類別模板提供了 眾多 constexpr 變數模板

提供變數模板的型別特徵與其他類別模板列表
English Deutsch 日本語 中文(简体) 中文(繁體)