C++ standard libraries extensions
From cppreference.net
<
cpp
|
experimental
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>
|
|
|
オプショナルオブジェクト
を表すクラステンプレート
(クラステンプレート) |
|
class
any
|
定義ヘッダー
<experimental/any>
|
|
|
任意の型の単一値を格納する型安全なコンテナ
(クラス) |
|
string_view
|
定義済みヘッダー
<experimental/string_view>
|
|
|
文字列への非所有参照
(クラステンプレート) |
|
型消去およびポリモーフィック・アロケータ
ポリモーフィック・アロケータとメモリリソース
このセクションのエンティティは std::experimental::pmr 名前空間で宣言されています。
|
ヘッダーで定義
<experimental/memory_resource>
|
|
|
メモリリソースをカプセル化するクラスの抽象インターフェース
(クラス) |
|
|
異なるブロックサイズのプールでの割り当てを管理するスレッドセーフな
memory_resource
(クラス) |
|
|
異なるブロックサイズのプールでの割り当てを管理するスレッドアンセーフな
memory_resource
(クラス) |
|
|
リソースが破棄されたときにのみ割り当てられたメモリを解放する特殊目的の
memory_resource
(クラス) |
|
|
構築時に使用される
memory_resource
に基づいて実行時ポリモーフィズムをサポートするアロケータ
(クラステンプレート) |
|
グローバルな
operator new
と
operator delete
を使用してメモリの割り当てと解放を行う静的プログラム全体の
memory_resource
を返す
(関数) |
|
割り当てを一切行わない静的
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
変数テンプレート
を提供します: