소스 검색

Typetrait added instead of templated variable.

main
offa 7 년 전
부모
커밋
5d396b25ef
2개의 변경된 파일9개의 추가작업 그리고 3개의 파일을 삭제
  1. +5
    -2
      include/detail/scope_guard_base.h
  2. +4
    -1
      include/scope_fail.h

+ 5
- 2
include/detail/scope_guard_base.h 파일 보기

@@ -29,7 +29,10 @@ namespace detail
{

template<class F, class S>
constexpr bool is_noexcept_dtor_v = true;
struct is_noexcept_dtor
{
static constexpr bool value = true;
};


template<class EF, class Strategy>
@@ -88,7 +91,7 @@ namespace detail
scope_guard_base(const scope_guard_base&) = delete;


~scope_guard_base() noexcept(is_noexcept_dtor_v<EF, Strategy>)
~scope_guard_base() noexcept(is_noexcept_dtor<EF, Strategy>::value)
{
if( (m_execute_on_destruction == true) && (this->should_execute() == true) )
{

+ 4
- 1
include/scope_fail.h 파일 보기

@@ -47,7 +47,10 @@ namespace sr


template<class F>
constexpr bool is_noexcept_dtor_v<F, scope_fail_strategy> = noexcept(std::declval<F>()());
struct is_noexcept_dtor<F, scope_fail_strategy>
{
static constexpr bool value = noexcept(std::declval<F>()());
};

}


Loading…
취소
저장