Public Member Functions

cl7::utilities::AutoRestore< T > Class Template Reference

#include <AutoRestore.h>

List of all members.

Public Member Functions

 AutoRestore (void)
 AutoRestore (T *object)
 AutoRestore (const AutoRestore &rhs)
AutoRestoreoperator= (AutoRestore &rhs)
 ~AutoRestore (void)
const T * get () const
const T & get_copy () const
const T * operator-> () const
const T & operator* () const
T * get ()
T * operator-> ()
T & operator* ()
void reset (T *object)
void restore ()
void decontrol ()
void swap (AutoRestore< T > &rhs)

Detailed Description

template<typename T>
class cl7::utilities::AutoRestore< T >

An object wrapper that restores the initial state of an object on destruction. It additionally holds a flag specifying whether the wrapper is responsible for the object to restore. Multiple wrappers may be responsible for a restore operation. If a wrapper is created through the copy constructor or the copy assignment operator, the new wrapper becomes responsible as well (if the source wrapper was responsible at all).


Constructor & Destructor Documentation

template<typename T>
cl7::utilities::AutoRestore< T >::AutoRestore ( void   )  [inline]

Default constructor.

template<typename T>
cl7::utilities::AutoRestore< T >::AutoRestore ( T *  object  )  [inline, explicit]

Explicit constructor.

template<typename T>
cl7::utilities::AutoRestore< T >::AutoRestore ( const AutoRestore< T > &  rhs  )  [inline]

Copy constructor.

template<typename T>
cl7::utilities::AutoRestore< T >::~AutoRestore ( void   )  [inline]

Destructor.


Member Function Documentation

template<typename T>
void cl7::utilities::AutoRestore< T >::decontrol (  )  [inline]

Forces the wrapper to lose responsibility for the release operation.

template<typename T>
const T* cl7::utilities::AutoRestore< T >::get (  )  const [inline]

Returns the pointer to the object.

template<typename T>
T* cl7::utilities::AutoRestore< T >::get (  )  [inline]

Returns the pointer to the object.

template<typename T>
const T& cl7::utilities::AutoRestore< T >::get_copy (  )  const [inline]

Returns the copy of the object.

template<typename T>
T& cl7::utilities::AutoRestore< T >::operator* (  )  [inline]

Returns the object.

template<typename T>
const T& cl7::utilities::AutoRestore< T >::operator* (  )  const [inline]

Returns the object.

template<typename T>
T* cl7::utilities::AutoRestore< T >::operator-> (  )  [inline]

Returns the pointer to the object.

template<typename T>
const T* cl7::utilities::AutoRestore< T >::operator-> (  )  const [inline]

Returns the pointer to the object.

template<typename T>
AutoRestore& cl7::utilities::AutoRestore< T >::operator= ( AutoRestore< T > &  rhs  )  [inline]

Copy assignment operator.

template<typename T>
void cl7::utilities::AutoRestore< T >::reset ( T *  object  )  [inline]

Replaces the object by another one. The current object will be restored if the wrapper is responsible. The wrapper will be responsible for the newly set object.

template<typename T>
void cl7::utilities::AutoRestore< T >::restore (  )  [inline]

Restores the object (if responsible).

template<typename T>
void cl7::utilities::AutoRestore< T >::swap ( AutoRestore< T > &  rhs  )  [inline]

Swaps the contents of two wrappers.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines