名前空間
変種
操作

並行処理の拡張

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++ Extensions for Concurrency, ISO/IEC TS 19571:2016 は、C++標準ライブラリに以下の新しいコンポーネントを定義しています。

目次

[編集] 継続とstd::futureのその他の拡張

ヘッダ <experimental/future> で定義
(concurrency TS)
継続やその他の機能で強化された std::future のバージョン
(クラステンプレート) [編集]
(concurrency TS)
継続やその他の機能で強化された std::shared_future のバージョン
(クラステンプレート) [編集]
(concurrency TS)
std::experimental::future を使用するように変更された std::promise のバージョン
(クラステンプレート)
(concurrency TS)
std::experimental::future を使用するように変更された std::packaged_task のバージョン
(クラステンプレート)
(concurrency TS)
与えられたすべての future または `shared_futures` が準備完了になったときに準備完了になる future を生成する
(関数テンプレート) [編集]
(concurrency TS)
与えられた future または shared_future のうち少なくとも1つが準備完了になったときに準備完了になる future を生成する
(関数テンプレート) [編集]
(concurrency TS)
即座に準備完了になり、与えられた値を保持する future を生成する
(関数テンプレート) [編集]
(concurrency TS)
即座に準備完了になり、与えられた例外を保持する future を生成する
(関数テンプレート) [編集]

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

ヘッダ <experimental/future> で定義
__cpp_lib_experimental_future_continuations
201505 以上の値は、future::then およびその他の拡張がサポートされていることを示す
(マクロ定数)
ヘッダ <experimental/latch> で定義
__cpp_lib_experimental_latch
201505 以上の値は、latch 型がサポートされていることを示す
(マクロ定数)
ヘッダ <experimental/barrier> で定義
__cpp_lib_experimental_barrier
201505 以上の値は、barrier 型がサポートされていることを示す
(マクロ定数)
ヘッダ <experimental/atomic> で定義
__cpp_lib_experimental_atomic_smart_pointers
201505 以上の値は、アトミックなスマートポインタがサポートされていることを示す
(マクロ定数)

[編集] C++20にマージされた機能

Concurrency TS の以下のコンポーネントは、C++20 標準に採用されました。

[編集] ラッチとバリア

ヘッダ <experimental/latch> で定義
(concurrency TS)
一度だけ使用可能なスレッドバリア
(クラス) [編集]
ヘッダ <experimental/barrier> で定義
(concurrency TS)
再利用可能なスレッドバリア
(クラス) [編集]
(concurrency TS)
完了時の動作をカスタマイズ可能な再利用可能なスレッドバリア
(クラス) [編集]

[編集] アトミックなスマートポインタ

これらのクラステンプレートは、shared_ptr のアトミック関数オーバーロードを置き換える

ヘッダ <experimental/atomic> で定義
(concurrency TS)
std::shared_ptr のアトミック版
(クラステンプレート) [編集]
(concurrency TS)
std::weak_ptr のアトミック版
(クラステンプレート) [編集]
English 日本語 中文(简体) 中文(繁體)