xrpld
Loading...
Searching...
No Matches
xrpl::ScopeSuccess< EF > Class Template Reference

#include <scope.h>

Public Member Functions

 ~ScopeSuccess () noexcept(noexcept(exitFunction_()))
 ScopeSuccess (ScopeSuccess &&rhs) noexcept(std::is_nothrow_move_constructible_v< EF >||std::is_nothrow_copy_constructible_v< EF >)
ScopeSuccessoperator= (ScopeSuccess &&)=delete
template<class EFP>
requires ( !std::is_same_v<std::remove_cv_t<EFP>, ScopeSuccess> && std::is_constructible_v<EF, EFP>)
 ScopeSuccess (EFP &&f) noexcept(std::is_nothrow_constructible_v< EF, EFP >||std::is_nothrow_constructible_v< EF, EFP & >)
void release () noexcept

Private Attributes

EF exitFunction_
bool executeOnDestruction_ {true}
int uncaughtOnCreation_ {std::uncaught_exceptions()}

Detailed Description

template<class EF>
class xrpl::ScopeSuccess< EF >

Definition at line 113 of file scope.h.

Constructor & Destructor Documentation

◆ ~ScopeSuccess()

template<class EF>
xrpl::ScopeSuccess< EF >::~ScopeSuccess ( )
noexcept

Definition at line 120 of file scope.h.

◆ ScopeSuccess() [1/2]

template<class EF>
xrpl::ScopeSuccess< EF >::ScopeSuccess ( ScopeSuccess< EF > && rhs)
noexcept

Definition at line 126 of file scope.h.

◆ ScopeSuccess() [2/2]

template<class EF>
template<class EFP>
requires ( !std::is_same_v<std::remove_cv_t<EFP>, ScopeSuccess> && std::is_constructible_v<EF, EFP>)
xrpl::ScopeSuccess< EF >::ScopeSuccess ( EFP && f)
explicitnoexcept

Definition at line 139 of file scope.h.

Member Function Documentation

◆ operator=()

template<class EF>
ScopeSuccess & xrpl::ScopeSuccess< EF >::operator= ( ScopeSuccess< EF > && )
delete

◆ release()

template<class EF>
void xrpl::ScopeSuccess< EF >::release ( )
noexcept

Definition at line 149 of file scope.h.

Member Data Documentation

◆ exitFunction_

template<class EF>
EF xrpl::ScopeSuccess< EF >::exitFunction_
private

Definition at line 115 of file scope.h.

◆ executeOnDestruction_

template<class EF>
bool xrpl::ScopeSuccess< EF >::executeOnDestruction_ {true}
private

Definition at line 116 of file scope.h.

◆ uncaughtOnCreation_

template<class EF>
int xrpl::ScopeSuccess< EF >::uncaughtOnCreation_ {std::uncaught_exceptions()}
private

Definition at line 117 of file scope.h.