Browse Source

Scope_exit changes adapted (#106).

main
offa 7 years ago
parent
commit
189a23d2ba
1 changed files with 12 additions and 1 deletions
  1. +12
    -1
      include/scope_exit.h

+ 12
- 1
include/scope_exit.h View File

@@ -42,9 +42,20 @@ namespace sr
template<class EF>
class scope_exit : public detail::scope_guard_base<EF, detail::scope_exit_strategy>
{
using Base = detail::scope_guard_base<EF, detail::scope_exit_strategy>;


public:

using detail::scope_guard_base<EF, detail::scope_exit_strategy>::scope_guard_base;
template<class EFP,
std::enable_if_t<std::is_constructible_v<EF, EFP>, int> = 0,
std::enable_if_t<!std::is_same_v<detail::remove_cvref_t<EFP>, scope_exit<EF>>, int> = 0
>
explicit scope_exit(EFP&& exitFunction) noexcept(std::is_nothrow_constructible_v<EF, EFP>)
: Base(std::forward<EFP>(exitFunction))
{
}



private:

Loading…
Cancel
Save