std::experimental::scope_fail<EF>::~scope_fail
From cppreference.com
< cpp | experimental | scope fail
C++
Experimental
| 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 |
Library fundamentals v3
std::experimental::scope_fail
| Member functions | ||||
scope_fail::~scope_fail | ||||
| Modifiers | ||||
| Deduction guides |
| ~scope_fail() noexcept; |
(library fundamentals TS v3) | |
Calls the exit function if the result of std::uncaught_exceptions() is greater than the counter of uncaught exceptions (typically on stack unwinding) and the scope_fail is active, then destroys the stored EF (if it is a function object) and any other non-static data members.
Notes
Whether the destructor is called on stack unwinding can be detected by the comparison of the result of std::uncaught_exceptions() and the counter of uncaught exceptions in the scope_fail.
[edit] See also
makes the scope_fail inactive (public member function) [edit] |