Browse Source

Scope_success changes adapted (#106).

main
offa 7 years ago
parent
commit
24e9a22a45
1 changed files with 11 additions and 1 deletions
  1. +11
    -1
      include/scope_success.h

+ 11
- 1
include/scope_success.h View File

@@ -52,9 +52,19 @@ namespace sr
template<class EF>
class scope_success : public detail::scope_guard_base<EF, detail::scope_success_strategy>
{
using Base = detail::scope_guard_base<EF, detail::scope_success_strategy>;


public:

using detail::scope_guard_base<EF, detail::scope_success_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_success<EF>>, int> = 0
>
explicit scope_success(EFP&& exitFunction) noexcept(std::is_nothrow_constructible_v<EF, EFP>)
: Base(std::forward<EFP>(exitFunction))
{
}


private:

Loading…
Cancel
Save