libassa 3.5.0
Static Public Member Functions | Protected Member Functions | Static Private Attributes | Friends

ASSA::Singleton< T > Class Template Reference

#include <Singleton.h>

List of all members.

Static Public Member Functions

static T * get_instance ()
 Return an instance of templated class T.

Protected Member Functions

 Singleton ()
 Protected Constructor.
virtual ~Singleton ()
 Virtual Destructor.

Static Private Attributes

static T * m_instance
 Pointer to the object T instance.
static Destroyer< T > m_destroyer
 Destroyer that owns object T.

Friends

class Destroyer< T >

Detailed Description

template<class T>
class ASSA::Singleton< T >

Definition at line 43 of file Singleton.h.


Constructor & Destructor Documentation

template<class T>
ASSA::Singleton< T >::Singleton ( ) [inline, protected]

Protected Constructor.

Definition at line 58 of file Singleton.h.

{}
template<class T>
virtual ASSA::Singleton< T >::~Singleton ( ) [inline, protected, virtual]

Virtual Destructor.

Definition at line 63 of file Singleton.h.

:

Member Function Documentation

template<class T>
static T* ASSA::Singleton< T >::get_instance ( ) [inline, static]

Return an instance of templated class T.

Definition at line 48 of file Singleton.h.

                             {
            m_instance = new T;
            m_destroyer.setGuard (m_instance);
        }
        return m_instance;
    }


Friends And Related Function Documentation

template<class T>
friend class Destroyer< T > [friend]

Definition at line 60 of file Singleton.h.


Member Data Documentation

template<class T>
Destroyer<T> ASSA::Singleton< T >::m_destroyer [static, private]

Destroyer that owns object T.

Definition at line 70 of file Singleton.h.

Referenced by ASSA::Singleton< Logger >::get_instance().

template<class T>
T* ASSA::Singleton< T >::m_instance [static, private]

Pointer to the object T instance.

Definition at line 67 of file Singleton.h.

Referenced by ASSA::Singleton< Logger >::get_instance().


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