名前空間
変種
操作

C++標準ライブラリ拡張、バージョン3

From cppreference.com
 
 
実験的
Technical Specification
ファイルシステムライブラリ (filesystem TS)
ライブラリ基本 (library fundamentals TS)
ライブラリ基本TS v2 (library fundamentals TS v2)
ライブラリ基礎 3 (library fundamentals TS v3)
並列化拡張 (parallelism TS)
並列化拡張 2 (parallelism TS v2)
並行処理拡張 (concurrency TS)
並行処理拡張 2 (concurrency TS v2)
コンセプト (concepts TS)
Ranges (ranges TS)
リフレクション (reflection TS)
数学特殊関数 (special functions TR)
実験的 (非TS)
パターンマッチ
線形代数
std::execution
契約プログラミング
2Dグラフィックス
 
 

C++拡張ライブラリ基礎のバージョン3、ISO/IEC TS 19568:2024は、バージョン1およびバージョン2で定義されたものに加えて、C++標準ライブラリのための以下の新しいコンポーネントを定義します。

C++17/20にマージされたコンポーネントおよびLFTS v3で削除されたコンポーネントは以下の通りです。

[編集] スコープガード

ヘッダ <experimental/scope> で定義
関数オブジェクトをラップし、スコープを抜ける際にそれを呼び出す
(クラステンプレート) [編集]
関数オブジェクトをラップし、例外によってスコープを抜ける際にそれを呼び出す
(クラステンプレート) [編集]
関数オブジェクトをラップし、正常にスコープを抜ける際にそれを呼び出す
(クラステンプレート) [編集]
汎用的なRAIIリソースハンドルのラッパー
(クラステンプレート) [編集]

[編集] 機能テストマクロ

ヘッダー <experimental/memory_resource> で定義
__cpp_lib_experimental_memory_resources
値が 201803 以上であることは、resource_adaptor がサポートされていることを示す
(マクロ定数)
ヘッダ <experimental/functional> で定義
__cpp_lib_experimental_function_polymorphic_allocator
値が 202211 以上であることは、std::experimental::functionstd::pmr::polymorphic_allocator<> が使用されることを示す
(マクロ定数)
ヘッダ <experimental/scope> で定義
__cpp_lib_experimental_scope
値が 201902 以上であることは、スコープガードがサポートされていることを示す
(マクロ定数)

[編集] ノート

LFTS v3では __cpp_lib_experimental_memory_resources の値が増加しました。これは、resource_adaptor の設計が std::pmr::memory_resource をベースにするように変更されたためです。

English 日本語 中文(简体) 中文(繁體)