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 | - | начальное значение счетчика expected |
| f | - | функциональный объект завершения, вызываемый на этапе завершения фазы |
Исключения
1)
Любое исключение, выброшенное
CompletionFunction
's конструктором перемещения.
Примечания
expected
допускается быть равным нулю. Однако вызов любой нестатической функции-члена, кроме деструктора, для такого
barrier
приводит к неопределенному поведению. Другими словами, такой
barrier
может быть только уничтожен.