名前空間
変種
操作

並行処理のための拡張

提供: cppreference.com
 
 
技術仕様書
ファイルシステムライブラリ (filesystem TS)
ライブラリ基礎 (library fundamentals TS)
ライブラリ基礎2 (library fundamentals 2 TS)
並列処理のための拡張 (parallelism TS)
並列処理のための拡張2 (parallelism TS v2)
並行処理のための拡張 (concurrency TS)
コンセプト (concepts TS)
範囲 (ranges TS)
特殊な数学関数 (special math TR)
 
 

並行処理のための C++ 拡張、 ISO/IEC TS 19571:2016 は、 C++ 標準ライブラリのための以下の新しいコンポーネントを定義します。

目次

[編集] std::future に対する継続およびその他の拡張

ヘッダ <experimental/future> で定義
(concurrency TS)
継続およびその他の機能で強化されたバージョンの std::future
(クラステンプレート) [edit]
(concurrency TS)
継続およびその他の機能で強化されたバージョンの std::shared_future
(クラステンプレート) [edit]
(concurrency TS)
std::experimental::future を使用する std::promise の修正版
(クラステンプレート)
(concurrency TS)
std::experimental::future を使用する std::packaged_task の修正版
(クラステンプレート)
(concurrency TS)
指定された future または shared_future のすべてが準備済みのときに準備済みになる future を生成します
(関数テンプレート) [edit]
(concurrency TS)
指定された future または shared_future の少なくともひとつが準備済みのときに準備済みになる future を生成します
(関数テンプレート) [edit]
(concurrency TS)
直ちに準備済みになり指定された値を保持する future を生成します
(関数テンプレート) [edit]
(concurrency TS)
直ちに準備済みになり指定された例外を保持する future を生成します
(関数テンプレート) [edit]

[編集] ラッチとバリア

ヘッダ <experimental/latch> で定義
(concurrency TS)
使い捨てのスレッドバリア
(クラス) [edit]
ヘッダ <experimental/barrier> で定義
(concurrency TS)
再利用可能なスレッドバリア
(クラス) [edit]
(concurrency TS)
カスタマイズ可能な完了時動作を持つ再利用可能なスレッドバリア
(クラス) [edit]

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

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

ヘッダ <experimental/atomic> で定義
(concurrency TS)
std::shared_ptr のアトミック版
(クラステンプレート) [edit]
(concurrency TS)
std::weak_ptr のアトミック版
(クラステンプレート) [edit]


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

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