Ver código fonte

Scope guards noexecpt value updated according R8 (#121).

main
offa 6 anos atrás
pai
commit
59a47687d4
4 arquivos alterados com 8 adições e 4 exclusões
  1. +2
    -1
      include/detail/scope_guard_base.h
  2. +2
    -1
      include/scope_exit.h
  3. +2
    -1
      include/scope_fail.h
  4. +2
    -1
      include/scope_success.h

+ 2
- 1
include/detail/scope_guard_base.h Ver arquivo

@@ -56,7 +56,8 @@ namespace sr::detail
std::enable_if_t<(!std::is_lvalue_reference_v<EFP>)
&& std::is_nothrow_constructible_v<EF, EFP>, int> = 0
>
explicit scope_guard_base(EFP&& exitFunction) noexcept(std::is_nothrow_constructible_v<EF, EFP>)
explicit scope_guard_base(EFP&& exitFunction) noexcept(std::is_nothrow_constructible_v<EF, EFP>
|| std::is_nothrow_constructible_v<EF, EFP&>)
: m_exitfunction(std::move(exitFunction)),
m_execute_on_destruction(true)
{

+ 2
- 1
include/scope_exit.h Ver arquivo

@@ -51,7 +51,8 @@ namespace sr
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>)
explicit scope_exit(EFP&& exitFunction) noexcept(std::is_nothrow_constructible_v<EF, EFP>
|| std::is_nothrow_constructible_v<EF, EFP&>)
: Base(std::forward<EFP>(exitFunction))
{
}

+ 2
- 1
include/scope_fail.h Ver arquivo

@@ -54,7 +54,8 @@ namespace sr
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_fail<EF>>, int> = 0
>
explicit scope_fail(EFP&& exitFunction) noexcept(std::is_nothrow_constructible_v<EF, EFP>)
explicit scope_fail(EFP&& exitFunction) noexcept(std::is_nothrow_constructible_v<EF, EFP>
|| std::is_nothrow_constructible_v<EF, EFP&>)
: Base(std::forward<EFP>(exitFunction))
{
}

+ 2
- 1
include/scope_success.h Ver arquivo

@@ -61,7 +61,8 @@ namespace sr
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>)
explicit scope_success(EFP&& exitFunction) noexcept(std::is_nothrow_constructible_v<EF, EFP>
|| std::is_nothrow_constructible_v<EF, EFP&>)
: Base(std::forward<EFP>(exitFunction))
{
}

Carregando…
Cancelar
Salvar