Orxonox: Loki::ScopeGuardImpl4< F, P1, P2, P3, P4 > Class Template Reference

# Loki::ScopeGuardImpl4< F, P1, P2, P3, P4 > Class Template Reference
[Exception-safe code]

`#include <src/util/ScopeGuard.h>`

Inheritance diagram for Loki::ScopeGuardImpl4< F, P1, P2, P3, P4 >:

List of all members.

## Public Member Functions

void | Execute ()
| ~ScopeGuardImpl4 () throw ()

## Static Public Member Functions

static ScopeGuardImpl4< F, P1, P2, P3, P4 > | MakeGuard (F fun, P1 p1, P2 p2, P3 p3, P4 p4)

## Protected Member Functions

| ScopeGuardImpl4 (F fun, P1 p1, P2 p2, P3 p3, P4 p4)

## Protected Attributes

F | fun_
const P1 | p1_
const P2 | p2_
const P3 | p3_
const P4 | p4_

## Detailed Description

### template<typename F, typename P1, typename P2, typename P3, typename P4>
class Loki::ScopeGuardImpl4< F, P1, P2, P3, P4 >

Implementation class for a standalone function or class static function with four parameters. Each parameter is copied by value - use Loki::ByRef if you must use a reference instead. ScopeGuard ignores any value returned from the call within the Execute function.

This class has a single standalone helper function, MakeGuard which creates and returns a ScopeGuard.

## Constructor & Destructor Documentation

template<typename F, typename P1, typename P2, typename P3, typename P4>

Loki::ScopeGuardImpl4< F, P1, P2, P3, P4 >::~ScopeGuardImpl4 | ( |  | ) | throw ()`[inline]`

References Loki::ScopeGuardImplBase::SafeExecute().

template<typename F, typename P1, typename P2, typename P3, typename P4>

Loki::ScopeGuardImpl4< F, P1, P2, P3, P4 >::ScopeGuardImpl4 | ( | F | fun,
|  | P1 | p1,
|  | P2 | p2,
|  | P3 | p3,
|  | P4 | p4 |
| ) |  |  | `[inline, protected]`

## Member Function Documentation

template<typename F, typename P1, typename P2, typename P3, typename P4>

void Loki::ScopeGuardImpl4< F, P1, P2, P3, P4 >::Execute | ( |  | ) | `[inline]`

References Loki::ScopeGuardImpl4< F, P1, P2, P3, P4 >::fun_, Loki::ScopeGuardImpl4< F, P1, P2, P3, P4 >::p1_, Loki::ScopeGuardImpl4< F, P1, P2, P3, P4 >::p2_, Loki::ScopeGuardImpl4< F, P1, P2, P3, P4 >::p3_, and Loki::ScopeGuardImpl4< F, P1, P2, P3, P4 >::p4_.

template<typename F, typename P1, typename P2, typename P3, typename P4>

static ScopeGuardImpl4< F, P1, P2, P3, P4 > Loki::ScopeGuardImpl4< F, P1, P2, P3, P4 >::MakeGuard | ( | F | fun,
|  | P1 | p1,
|  | P2 | p2,
|  | P3 | p3,
|  | P4 | p4 |
| ) |  |  | `[inline, static]`

## Member Data Documentation

template<typename F, typename P1, typename P2, typename P3, typename P4>

F Loki::ScopeGuardImpl4< F, P1, P2, P3, P4 >::fun_`[protected]`

Referenced by Loki::ScopeGuardImpl4< F, P1, P2, P3, P4 >::Execute().

template<typename F, typename P1, typename P2, typename P3, typename P4>

const P1 Loki::ScopeGuardImpl4< F, P1, P2, P3, P4 >::p1_`[protected]`

Referenced by Loki::ScopeGuardImpl4< F, P1, P2, P3, P4 >::Execute().

template<typename F, typename P1, typename P2, typename P3, typename P4>

const P2 Loki::ScopeGuardImpl4< F, P1, P2, P3, P4 >::p2_`[protected]`

Referenced by Loki::ScopeGuardImpl4< F, P1, P2, P3, P4 >::Execute().

template<typename F, typename P1, typename P2, typename P3, typename P4>

const P3 Loki::ScopeGuardImpl4< F, P1, P2, P3, P4 >::p3_`[protected]`

Referenced by Loki::ScopeGuardImpl4< F, P1, P2, P3, P4 >::Execute().

template<typename F, typename P1, typename P2, typename P3, typename P4>

const P4 Loki::ScopeGuardImpl4< F, P1, P2, P3, P4 >::p4_`[protected]`

Referenced by Loki::ScopeGuardImpl4< F, P1, P2, P3, P4 >::Execute().

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

- src/util/ScopeGuard.h