Namespaces
Variants

std::barrier<CompletionFunction>:: barrier

From cppreference.net
Concurrency support library
Threads
(C++11)
(C++20)
this_thread namespace
(C++11)
(C++11)
Cooperative cancellation
Mutual exclusion
Generic lock management
Condition variables
(C++11)
Semaphores
Latches and Barriers
(C++20)
(C++20)
Futures
(C++11)
(C++11)
(C++11)
Safe reclamation
Hazard pointers
Atomic types
(C++11)
(C++20)
Initialization of atomic types
(C++11) (deprecated in C++20)
(C++11) (deprecated in C++20)
Memory ordering
(C++11) (deprecated in C++26)
Free functions for atomic operations
Free functions for atomic flags
constexpr explicit barrier ( std:: ptrdiff_t expected,
CompletionFunction f = CompletionFunction ( ) ) ;
(1) (desde C++20)
barrier ( const barrier & ) = delete ;
(2) (desde C++20)
1) Establece tanto el conteo esperado inicial para cada fase como el conteo esperado actual para la primera fase a expected , inicializa el objeto de función de finalización con std :: move ( f ) , y luego inicia la primera fase. El comportamiento es indefinido si expected es negativo o mayor que max() .
2) El constructor de copia está eliminado. barrier no es copiable ni movible.

Parámetros

expected - valor inicial del contador esperado
f - objeto función de finalización a llamar en el paso de completado de fase

Excepciones

1) Cualquier excepción lanzada por el constructor de movimiento de CompletionFunction .

Notas

expected está permitido que sea cero. Sin embargo, llamar a cualquier función miembro no estática que no sea el destructor en tal barrier resulta en comportamiento indefinido. En otras palabras, tal barrier solo puede ser destruido.