| Technical Specification | ||||
| Filesystem library(filesystem TS) | ||||
| Library fundamentals(library fundamentals TS) | ||||
| Library fundamentals 2(library fundamentals TS v2) | ||||
| Library fundamentals 3(library fundamentals TS v3) | ||||
| Extensions for parallelism(parallelism TS) | ||||
| Extensions for parallelism 2(parallelism TS v2) | ||||
| Extensions for concurrency(concurrency TS) | ||||
| Extensions for concurrency 2(concurrency TS v2) | ||||
| Concepts(concepts TS) | ||||
| Ranges(ranges TS) | ||||
| Reflection(reflection TS) | ||||
| Mathematical special functions(special functions TR) | ||||
| Experimental Non-TS | ||||
| Pattern Matching | ||||
| Linear Algebra | ||||
| std::execution | ||||
| Contracts | ||||
| 2D Graphics |
| Member functions | ||||
scope_success::~scope_success | ||||
| Modifiers | ||||
| Deduction guides |
~scope_success()noexcept(noexcept(std::declval<EF&>()())); | (library fundamentals TS v3) | |
Calls the exit function if the result ofstd::uncaught_exceptions() is less than or equal to the counter of uncaught exceptions (typically on normal exit) and thescope_success is active, then destroys the storedEF (if it is a function object) and any other non-static data members.
Throws any exception thrown by calling the exit function.
Whether the destructor is called on stack unwinding can be detected by the comparison of the result ofstd::uncaught_exceptions() and the counter of uncaught exceptions in thescope_success.
Unlike other classes or class template specializations in the C++ standard library and other C++ TR/TS's,scope_success's destructor is permitted to throw an exception.
makes thescope_success inactive(public member function)[edit] |