blocxx
BLOCXX_NAMESPACE::ObjScopeGuardImpl2< Obj, MemFun, P1, P2 > Class Template Reference

#include <ScopeGuard.hpp>

Inheritance diagram for BLOCXX_NAMESPACE::ObjScopeGuardImpl2< Obj, MemFun, P1, P2 >:
BLOCXX_NAMESPACE::ScopeGuardImplBase

Public Member Functions

 ~ObjScopeGuardImpl2 () throw ()
 
void execute ()
 
- Public Member Functions inherited from BLOCXX_NAMESPACE::ScopeGuardImplBase
 ScopeGuardImplBase () throw ()
 
void dismiss () const throw ()
 

Static Public Member Functions

static ObjScopeGuardImpl2< Obj, MemFun, P1, P2 > makeObjGuard (Obj &obj, MemFun memFun, P1 p1, P2 p2)
 

Protected Member Functions

 ObjScopeGuardImpl2 (Obj &obj, MemFun memFun, P1 p1, P2 p2)
 
- Protected Member Functions inherited from BLOCXX_NAMESPACE::ScopeGuardImplBase
 ~ScopeGuardImplBase ()
 
 ScopeGuardImplBase (const ScopeGuardImplBase &other) throw ()
 

Protected Attributes

Obj & m_obj
 
MemFun m_memFun
 
const P1 m_p1
 
const P2 m_p2
 
- Protected Attributes inherited from BLOCXX_NAMESPACE::ScopeGuardImplBase
bool m_dismissed
 

Additional Inherited Members

- Static Protected Member Functions inherited from BLOCXX_NAMESPACE::ScopeGuardImplBase
template<typename J>
static void safeExecute (J &j) throw ()
 

Detailed Description

template<class Obj, typename MemFun, typename P1, typename P2>
class BLOCXX_NAMESPACE::ObjScopeGuardImpl2< Obj, MemFun, P1, P2 >

Definition at line 336 of file ScopeGuard.hpp.

Constructor & Destructor Documentation

◆ ~ObjScopeGuardImpl2()

template<class Obj, typename MemFun, typename P1, typename P2>
BLOCXX_NAMESPACE::ObjScopeGuardImpl2< Obj, MemFun, P1, P2 >::~ObjScopeGuardImpl2 ( )
throw ( )
inline

◆ ObjScopeGuardImpl2()

template<class Obj, typename MemFun, typename P1, typename P2>
BLOCXX_NAMESPACE::ObjScopeGuardImpl2< Obj, MemFun, P1, P2 >::ObjScopeGuardImpl2 ( Obj & obj,
MemFun memFun,
P1 p1,
P2 p2 )
inlineprotected

Definition at line 355 of file ScopeGuard.hpp.

References m_memFun, m_obj, m_p1, and m_p2.

Referenced by makeObjGuard().

Member Function Documentation

◆ execute()

template<class Obj, typename MemFun, typename P1, typename P2>
void BLOCXX_NAMESPACE::ObjScopeGuardImpl2< Obj, MemFun, P1, P2 >::execute ( )
inline

Definition at line 349 of file ScopeGuard.hpp.

References m_memFun, m_obj, m_p1, and m_p2.

◆ makeObjGuard()

template<class Obj, typename MemFun, typename P1, typename P2>
static ObjScopeGuardImpl2< Obj, MemFun, P1, P2 > BLOCXX_NAMESPACE::ObjScopeGuardImpl2< Obj, MemFun, P1, P2 >::makeObjGuard ( Obj & obj,
MemFun memFun,
P1 p1,
P2 p2 )
inlinestatic

Definition at line 339 of file ScopeGuard.hpp.

References ObjScopeGuardImpl2().

Referenced by BLOCXX_NAMESPACE::makeObjGuard().

Member Data Documentation

◆ m_memFun

template<class Obj, typename MemFun, typename P1, typename P2>
MemFun BLOCXX_NAMESPACE::ObjScopeGuardImpl2< Obj, MemFun, P1, P2 >::m_memFun
protected

Definition at line 359 of file ScopeGuard.hpp.

Referenced by execute(), and ObjScopeGuardImpl2().

◆ m_obj

template<class Obj, typename MemFun, typename P1, typename P2>
Obj& BLOCXX_NAMESPACE::ObjScopeGuardImpl2< Obj, MemFun, P1, P2 >::m_obj
protected

Definition at line 358 of file ScopeGuard.hpp.

Referenced by execute(), and ObjScopeGuardImpl2().

◆ m_p1

template<class Obj, typename MemFun, typename P1, typename P2>
const P1 BLOCXX_NAMESPACE::ObjScopeGuardImpl2< Obj, MemFun, P1, P2 >::m_p1
protected

Definition at line 360 of file ScopeGuard.hpp.

Referenced by execute(), and ObjScopeGuardImpl2().

◆ m_p2

template<class Obj, typename MemFun, typename P1, typename P2>
const P2 BLOCXX_NAMESPACE::ObjScopeGuardImpl2< Obj, MemFun, P1, P2 >::m_p2
protected

Definition at line 361 of file ScopeGuard.hpp.

Referenced by execute(), and ObjScopeGuardImpl2().


The documentation for this class was generated from the following file: