Browse Source

Scope guard ctor are no longer noexcept.

main
offa 8 years ago
parent
commit
b6657b19e2
1 changed files with 2 additions and 3 deletions
  1. +2
    -3
      include/scope_guard.h

+ 2
- 3
include/scope_guard.h View File

{ {
public: public:



template<class D, template<class D,
std::enable_if_t<std::is_constructible<Deleter, D>::value, int> = 0, std::enable_if_t<std::is_constructible<Deleter, D>::value, int> = 0,
std::enable_if_t<(!std::is_lvalue_reference<D>::value) std::enable_if_t<(!std::is_lvalue_reference<D>::value)
&& std::is_nothrow_constructible<Deleter, D>::value, int> = 0 && std::is_nothrow_constructible<Deleter, D>::value, int> = 0
> >
explicit scope_guard_t(D&& deleter) noexcept : m_deleter(std::move(deleter)),
explicit scope_guard_t(D&& deleter) : m_deleter(std::move(deleter)),
m_execute_on_destruction(true) m_execute_on_destruction(true)
{ {
} }
std::enable_if_t<std::is_constructible<Deleter, D>::value, int> = 0, std::enable_if_t<std::is_constructible<Deleter, D>::value, int> = 0,
std::enable_if_t<std::is_lvalue_reference<D>::value, int> = 0 std::enable_if_t<std::is_lvalue_reference<D>::value, int> = 0
> >
explicit scope_guard_t(D&& deleter) noexcept : m_deleter(deleter),
explicit scope_guard_t(D&& deleter) : m_deleter(deleter),
m_execute_on_destruction(true) m_execute_on_destruction(true)
{ {
// TODO: Handle copying correctly (#41) // TODO: Handle copying correctly (#41)

Loading…
Cancel
Save