IOSS 2.0
Loading...
Searching...
No Matches
Ioss_ScopeGuard.h File Reference
#include "ioss_export.h"
Include dependency graph for Ioss_ScopeGuard.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Ioss::RefHolder< T >
class  Ioss::ScopeGuardImplBase
class  Ioss::ScopeGuardImpl0< F >
class  Ioss::ScopeGuardImpl1< F, P1 >
class  Ioss::ScopeGuardImpl2< F, P1, P2 >
class  Ioss::ScopeGuardImpl3< F, P1, P2, P3 >
class  Ioss::ObjScopeGuardImpl0< Obj, MemFun >
class  Ioss::ObjScopeGuardImpl1< Obj, MemFun, P1 >
class  Ioss::ObjScopeGuardImpl2< Obj, MemFun, P1, P2 >

Namespaces

namespace  Ioss
 The main namespace for the Ioss library.

Macros

#define CONCATENATE_DIRECT(s1, s2)
#define CONCATENATE(s1, s2)
#define ANONYMOUS_VARIABLE(str)
#define ON_BLOCK_EXIT   ::Ioss::ScopeGuard ANONYMOUS_VARIABLE(scopeGuard) = ::Ioss::MakeGuard
#define ON_BLOCK_EXIT_OBJ   ::Ioss::ScopeGuard ANONYMOUS_VARIABLE(scopeGuard) = ::Ioss::MakeObjGuard

Functions

template<class T>
RefHolder< T > Ioss::ByRef (T &t)
 Ioss::__attribute__ ((unused)) typedef const ScopeGuardImplBase &ScopeGuard
template<typename F>
ScopeGuardImpl0< F > Ioss::MakeGuard (F fun)
template<typename F, typename P1>
ScopeGuardImpl1< F, P1 > Ioss::MakeGuard (F fun, P1 p1)
template<typename F, typename P1, typename P2>
ScopeGuardImpl2< F, P1, P2 > Ioss::MakeGuard (F fun, P1 p1, P2 p2)
template<typename F, typename P1, typename P2, typename P3>
ScopeGuardImpl3< F, P1, P2, P3 > Ioss::MakeGuard (F fun, P1 p1, P2 p2, P3 p3)
template<class Obj, typename MemFun>
ObjScopeGuardImpl0< Obj, MemFun > Ioss::MakeObjGuard (Obj &obj, MemFun memFun)
template<typename Ret, class Obj1, class Obj2>
ObjScopeGuardImpl0< Obj1, Ret(Obj2::*)()> Ioss::MakeGuard (Ret(Obj2::*memFun)(), Obj1 &obj)
template<typename Ret, class Obj1, class Obj2>
ObjScopeGuardImpl0< Obj1, Ret(Obj2::*)()> Ioss::MakeGuard (Ret(Obj2::*memFun)(), Obj1 *obj)
template<class Obj, typename MemFun, typename P1>
ObjScopeGuardImpl1< Obj, MemFun, P1 > Ioss::MakeObjGuard (Obj &obj, MemFun memFun, P1 p1)
template<typename Ret, class Obj1, class Obj2, typename P1a, typename P1b>
ObjScopeGuardImpl1< Obj1, Ret(Obj2::*)(P1a), P1b > Ioss::MakeGuard (Ret(Obj2::*memFun)(P1a), Obj1 &obj, P1b p1)
template<typename Ret, class Obj1, class Obj2, typename P1a, typename P1b>
ObjScopeGuardImpl1< Obj1, Ret(Obj2::*)(P1a), P1b > Ioss::MakeGuard (Ret(Obj2::*memFun)(P1a), Obj1 *obj, P1b p1)
template<class Obj, typename MemFun, typename P1, typename P2>
ObjScopeGuardImpl2< Obj, MemFun, P1, P2 > Ioss::MakeObjGuard (Obj &obj, MemFun memFun, P1 p1, P2 p2)
template<typename Ret, class Obj1, class Obj2, typename P1a, typename P1b, typename P2a, typename P2b>
ObjScopeGuardImpl2< Obj1, Ret(Obj2::*)(P1a, P2a), P1b, P2b > Ioss::MakeGuard (Ret(Obj2::*memFun)(P1a, P2a), Obj1 &obj, P1b p1, P2b p2)
template<typename Ret, class Obj1, class Obj2, typename P1a, typename P1b, typename P2a, typename P2b>
ObjScopeGuardImpl2< Obj1, Ret(Obj2::*)(P1a, P2a), P1b, P2b > Ioss::MakeGuard (Ret(Obj2::*memFun)(P1a, P2a), Obj1 *obj, P1b p1, P2b p2)

Macro Definition Documentation

◆ ANONYMOUS_VARIABLE

#define ANONYMOUS_VARIABLE ( str)
Value:
CONCATENATE(str, __LINE__)
#define CONCATENATE(s1, s2)
Definition Ioss_ScopeGuard.h:274

◆ CONCATENATE

#define CONCATENATE ( s1,
s2 )
Value:
#define CONCATENATE_DIRECT(s1, s2)
Definition Ioss_ScopeGuard.h:273

◆ CONCATENATE_DIRECT

#define CONCATENATE_DIRECT ( s1,
s2 )
Value:
s1##s2

◆ ON_BLOCK_EXIT

#define ON_BLOCK_EXIT   ::Ioss::ScopeGuard ANONYMOUS_VARIABLE(scopeGuard) = ::Ioss::MakeGuard

◆ ON_BLOCK_EXIT_OBJ

#define ON_BLOCK_EXIT_OBJ   ::Ioss::ScopeGuard ANONYMOUS_VARIABLE(scopeGuard) = ::Ioss::MakeObjGuard