Namespaces
Variants

std::stop_callback<Callback>:: stop_callback

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
template < class C >
explicit stop_callback ( const std:: stop_token & st, C && cb ) noexcept ( /*siehe unten*/ ) ;
(1) (seit C++20)
template < class C >
explicit stop_callback ( std:: stop_token && st, C && cb ) noexcept ( /*siehe unten*/ ) ;
(2) (seit C++20)
stop_callback ( const stop_callback & ) = delete ;
(3) (seit C++20)
stop_callback ( stop_callback && ) = delete ;
(4) (seit C++20)

Konstruiert ein neues stop_callback -Objekt, speichert und registriert die cb -Callback-Funktion im zugehörigen Stop-Zustand des gegebenen std::stop_token , für spätere Aufrufe, wenn Stop für die zugehörige std::stop_source angefordert wird.

1) Konstruiert einen stop_callback für den gegebenen st std::stop_token (kopiert), mit der gegebenen aufrufbaren Callback-Funktion cb .
2) Konstruiert einen stop_callback für den gegebenen st std::stop_token (verschoben), mit der gegebenen aufrufbaren Callback-Funktion cb .
3,4) stop_callback ist weder CopyConstructible noch MoveConstructible .

Beide Konstruktoren nehmen nur dann an der Überladungsauflösung teil, wenn Callback und C das Konzept constructible_from von std:: constructible_from < Callback, C > erfüllen. Wenn Callback und C das Konzept erfüllen, aber dessen semantische Anforderung nicht erfüllen, ist das Verhalten undefiniert.

Parameter

st - ein std::stop_token Objekt, um dieses stop_callback Objekt zu registrieren
cb - der Typ, der aufgerufen wird, wenn Stop angefordert wird

Ausnahmen

1,2)
noexcept Spezifikation:
noexcept ( std:: is_nothrow_constructible_v < Callback, C > )
Jede Ausnahme, die durch die Konstruktor-Initialisierung des gegebenen Callbacks in das stop_callback Objekt geworfen wird.

Hinweise

Wenn st. stop_requested ( ) == true für den übergebenen std::stop_token ist, dann wird die Callback-Funktion im aktuellen Thread aufgerufen, bevor der Konstruktor zurückkehrt.