Namespaces
Variants

std::experimental::scope_success<EF>:: ~scope_success

From cppreference.net

~scope_success ( ) noexcept ( noexcept ( std:: declval < EF & > ( ) ( ) ) ) ;
(Library Fundamentals TS v3)

Ruft die exit-Funktion auf, falls das Ergebnis von std:: uncaught_exceptions ( ) kleiner oder gleich dem Zähler der nicht abgefangenen Exceptions ist (typischerweise beim normalen Beenden) und der scope_success aktiv ist, zerstört anschließend den gespeicherten EF (falls es sich um ein Funktionsobjekt handelt) und alle anderen nicht-statischen Datenelemente.

Ausnahmen

Wirft jede Ausnahme, die durch den Aufruf der exit-Funktion ausgelöst wird.

Hinweise

Ob der Destruktor beim Stack-Unwinding aufgerufen wird, kann durch den Vergleich des Ergebnisses von std:: uncaught_exceptions ( ) und dem Zähler der nicht abgefangenen Exceptions im scope_success erkannt werden.

Im Gegensatz zu anderen Klassen oder Klassentemplatespezialisierungen in der C++-Standardbibliothek und anderen C++ TR/TS, scope_success 's Destruktor darf eine Ausnahme werfen.

Siehe auch

macht das scope_success inaktiv
(öffentliche Elementfunktion)