3#include <xrpl/beast/utility/instrumentation.h>
148 0) noexcept(
std::is_nothrow_constructible_v<EF, EFP> ||
std::is_nothrow_constructible_v<EF, EFP&>)
200template <
class Mutex>
208 XRPL_ASSERT(
plock_->owns_lock(),
"xrpl::ScopeUnlock::ScopeUnlock : mutex must be locked");
223template <
class Mutex>
ScopeExit(EFP &&f, std::enable_if_t< !std::is_same_v< std::remove_cv_t< EFP >, ScopeExit > &&std::is_constructible_v< EF, EFP > > *=0) noexcept
bool executeOnDestruction_
ScopeExit(ScopeExit &&rhs) noexcept(std::is_nothrow_move_constructible_v< EF >||std::is_nothrow_copy_constructible_v< EF >)
ScopeExit & operator=(ScopeExit &&)=delete
ScopeFail & operator=(ScopeFail &&)=delete
ScopeFail(EFP &&f, std::enable_if_t< !std::is_same_v< std::remove_cv_t< EFP >, ScopeFail > &&std::is_constructible_v< EF, EFP > > *=0) noexcept
ScopeFail(ScopeFail &&rhs) noexcept(std::is_nothrow_move_constructible_v< EF >||std::is_nothrow_copy_constructible_v< EF >)
bool executeOnDestruction_
ScopeSuccess & operator=(ScopeSuccess &&)=delete
bool executeOnDestruction_
ScopeSuccess(EFP &&f, std::enable_if_t< !std::is_same_v< std::remove_cv_t< EFP >, ScopeSuccess > &&std::is_constructible_v< EF, EFP > > *=0) noexcept(std::is_nothrow_constructible_v< EF, EFP >||std::is_nothrow_constructible_v< EF, EFP & >)
~ScopeSuccess() noexcept(noexcept(exitFunction_()))
ScopeSuccess(ScopeSuccess &&rhs) noexcept(std::is_nothrow_move_constructible_v< EF >||std::is_nothrow_copy_constructible_v< EF >)
Automatically unlocks and re-locks a unique_lock object.
~ScopeUnlock() noexcept(true)
ScopeUnlock & operator=(ScopeUnlock const &)=delete
std::unique_lock< Mutex > * plock_
ScopeUnlock(ScopeUnlock const &)=delete
ScopeUnlock(std::unique_lock< Mutex > &lock) noexcept(true)
T is_nothrow_copy_constructible_v
T is_nothrow_move_constructible_v
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
ScopeExit(EF) -> ScopeExit< EF >
ScopeUnlock(std::unique_lock< Mutex > &) -> ScopeUnlock< Mutex >
ScopeSuccess(EF) -> ScopeSuccess< EF >
ScopeFail(EF) -> ScopeFail< EF >
T uncaught_exceptions(T... args)