Namespaces
Variants

std::experimental::flex_barrier:: flex_barrier

From cppreference.net
explicit flex_barrier ( std:: ptrdiff_t num_threads ) ;
(1) (concurrency TS)
template < class F >
flex_barrier ( std:: ptrdiff_t num_threads, F completion ) ;
(2) (concurrency TS)
flex_barrier ( const flex_barrier & ) = delete ;
(3) (concurrency TS)
1) 以下の flex_barrier ( num_threads, c ) と同じ効果を持つ。ここで c は、 Callable オブジェクトであり、その呼び出しは-1を返し、副作用を持たない。
2) 参加スレッド数 num_threads flex_barrier を構築し、完了フェーズには completion を使用します。参加スレッドの集合は、同期ポイントに最初に到着する num_threads 個のスレッドです。
3) コピーコンストラクタは削除されています; flex_barrier はコピーできません。

パラメータ

num_threads - flex_barrier に参加するスレッドの数。非負の値でなければならない
completion - 完了フェーズを制御する関数オブジェクト。引数なしで呼び出し可能であり、戻り値の型が std::ptrdiff_t でなければならない。呼び出された際には、-1以上の値を返し、例外を送出してはならない
型要件
-
F CopyConstructible の要件を満たさなければならない。

注記

num_threads がゼロの場合、参加スレッドのセットは空となり、flex_barrierは破棄のみ可能となります。