std::barrier<CompletionFunction>:: barrier
From cppreference.net
C++
Concurrency support library
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
std::barrier
| Member functions | ||||
|
barrier::barrier
|
||||
| Constants | ||||
|
constexpr
explicit
barrier
(
std::
ptrdiff_t
expected,
CompletionFunction f = CompletionFunction ( ) ) ; |
(1) | (C++20以降) |
|
barrier
(
const
barrier
&
)
=
delete
;
|
(2) | (C++20以降) |
1)
各フェーズの初期期待カウントと最初のフェーズの現在の期待カウントの両方を
expected
に設定し、完了関数オブジェクトを
std
::
move
(
f
)
で初期化し、その後最初のフェーズを開始します。
expected
が負の値であるか、
max()
より大きい場合の動作は未定義です。
2)
コピーコンストラクタは削除されています。
barrier
はコピーも移動もできません。
パラメータ
| expected | - | 期待値カウントの初期値 |
| f | - | フェーズ完了ステップで呼び出される完了関数オブジェクト |
例外
1)
CompletionFunction
のムーブコンストラクタによってスローされるあらゆる例外。
注記
expected
はゼロであることが許可されています。ただし、そのような
barrier
に対してデストラクタ以外の非静的メンバー関数を呼び出すと未定義動作を引き起こします。言い換えれば、そのような
barrier
は破棄することのみが可能です。