std::experimental::scope_success<EF>::~scope_success
Min standard notice:
Calls the exit function if the result of std::uncaught_exceptions() is less than or equal to the counter of uncaught exceptions (typically on normal exit) and the scope_success is active, then destroys the stored EF (if it is a function object) and any other non-static data members.
# Declarations
~scope_success() noexcept(noexcept(std::declval<EF&>()()));
(library fundamentals TS v3)
# 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_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.