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) | (depuis C++20) |
|
barrier
(
const
barrier
&
)
=
delete
;
|
(2) | (depuis C++20) |
1)
Définit à la fois le compte attendu initial pour chaque phase et le compte attendu actuel pour la première phase à
expected
, initialise l'objet fonction de complétion avec
std
::
move
(
f
)
, puis démarre la première phase. Le comportement est indéfini si
expected
est négatif ou supérieur à
max()
.
2)
Le constructeur de copie est supprimé.
barrier
n'est ni copiable ni déplaçable.
Paramètres
| expected | - | valeur initiale du compteur attendu |
| f | - | objet fonction de complétion à appeler lors de l'étape d'achèvement de phase |
Exceptions
1)
Toute exception levée par le constructeur de déplacement de
CompletionFunction
.
Notes
expected
est autorisé à être zéro. Cependant, appeler toute fonction membre non statique autre que le destructeur sur une telle
barrier
entraîne un comportement indéfini. En d'autres termes, une telle
barrier
ne peut être que détruite.