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) A le même effet que flex_barrier ( num_threads, c ) , où c est un objet Callable dont l'invocation retourne -1 et n'a pas d'effets secondaires.
2) Construit une flex_barrier pour num_threads threads participants, en utilisant completion pour la phase de finalisation. L'ensemble des threads participants correspond aux premiers num_threads threads à atteindre le point de synchronisation.
3) Le constructeur de copie est supprimé ; flex_barrier n'est pas copiable.

Paramètres

num_threads - le nombre de threads participants pour la flex_barrier ; doit être non négatif
completion - un objet fonction contrôlant la phase de complétion ; doit être Callable sans arguments et avec un type de retour std::ptrdiff_t , et lorsqu'il est invoqué, doit retourner une valeur non inférieure à -1 et ne doit pas lever d'exception
Exigences de type
-
F doit satisfaire aux exigences de CopyConstructible .

Notes

Si num_threads est zéro, l'ensemble des threads participants est vide, et flex_barrier ne peut être que détruit.