{ | { | ||||
namespace detail | namespace detail | ||||
{ | { | ||||
struct scope_exit_strategy | struct scope_exit_strategy | ||||
{ | { | ||||
constexpr bool should_execute() const | constexpr bool should_execute() const | ||||
return true; | return true; | ||||
} | } | ||||
}; | }; | ||||
} | } | ||||
{ | { | ||||
namespace detail | namespace detail | ||||
{ | { | ||||
struct scope_fail_strategy | struct scope_fail_strategy | ||||
{ | { | ||||
bool should_execute() const | bool should_execute() const | ||||
int m_uncaught_on_creation = uncaught_exceptions(); | int m_uncaught_on_creation = uncaught_exceptions(); | ||||
}; | }; | ||||
} | } | ||||
{ | { | ||||
namespace detail | namespace detail | ||||
{ | { | ||||
struct scope_success_strategy | struct scope_success_strategy | ||||
{ | { | ||||
bool should_execute() const | bool should_execute() const |