}; | }; | ||||
template <class EF> | |||||
scope_exit(EF &&ef) -> scope_exit<std::decay_t<EF>>; | |||||
template<class EF> | template<class EF> | ||||
scope_exit<std::decay_t<EF>> make_scope_exit(EF&& exitFunction) | scope_exit<std::decay_t<EF>> make_scope_exit(EF&& exitFunction) | ||||
{ | { |
TEST_CASE("exit function called on destruction", "[ScopeExit]") | TEST_CASE("exit function called on destruction", "[ScopeExit]") | ||||
{ | { | ||||
REQUIRE_CALL(m, deleter()); | REQUIRE_CALL(m, deleter()); | ||||
auto guard = sr::make_scope_exit(deleter); | |||||
auto guard = sr::scope_exit(deleter); | |||||
static_cast<void>(guard); | static_cast<void>(guard); | ||||
} | } | ||||