Namensräume
Varianten
Aktionen

std::stop_callback<Callback>::stop_callback

Von cppreference.com
 
 
Bibliothek für nebenläufige Programmierung
Threads
(C++11)
(C++20)
this_thread Namespace
(C++11)
(C++11)
(C++11)
Kooperatives Beenden
Gegenseitiger Ausschluss
(C++11)
Allgemeines Sperrungsmanagement
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
Bedingungsvariablen
(C++11)
Semaphoren
Latches und Barriers
(C++20)
(C++20)
Futures
(C++11)
(C++11)
(C++11)
(C++11)
Sichere Wiederherstellung
(C++26)
Hazard Pointer
Atomare Typen
(C++11)
(C++20)
Initialisierung von atomaren Typen
(C++11)(veraltet in C++20)
(C++11)(veraltet in C++20)
Speicherordnung
(C++11)(deprecated in C++26)
Freie Funktionen für atomare Operationen
Freie Funktionen für atomare 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)

Erstellt ein neues stop_callback-Objekt und speichert und registriert die Callback-Funktion cb im zugehörigen Stop-Zustand des gegebenen std::stop_token, für eine spätere Ausführung, falls das Stoppen bei der zugehörigen std::stop_source angefordert wird.

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

Beide Konstruktoren nehmen an der Überladungsauflösung teil, nur wenn Callback und C 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.

[edit] Parameter

st - Ein std::stop_token-Objekt, mit dem dieses stop_callback-Objekt registriert werden soll
cb - Der Typ, der aufgerufen werden soll, wenn das Stoppen angefordert wird

[edit] Exceptions

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

[edit] Notes

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