ldas-tools-al 2.6.4
Public Types | Static Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Static Private Attributes | List of all members
LDASTools::AL::SingletonHolder< T, CreationPolicy, LifetimePolicy > Class Template Reference

#include <Singleton.hh>

Collaboration diagram for LDASTools::AL::SingletonHolder< T, CreationPolicy, LifetimePolicy >:
Collaboration graph
[legend]

Public Types

typedef T ObjectType
 

Static Public Member Functions

static T & Instance ()
 

Private Types

typedef T * PtrInstanceType
 
typedef MutexLock::baton_type baton_type
 

Private Member Functions

 SingletonHolder ()
 

Static Private Member Functions

static void MakeInstance ()
 
static void DestroySingleton ()
 

Static Private Attributes

static baton_type baton
 
static PtrInstanceType pInstance_
 
static bool destroyed_
 

Detailed Description

template<typename T, template< class > class CreationPolicy = CreateUsingNew, template< class > class LifetimePolicy = DefaultLifetime>
class LDASTools::AL::SingletonHolder< T, CreationPolicy, LifetimePolicy >
Note
Removed the ThreadingModel and MutexPolicy from the originial code

Member Typedef Documentation

◆ baton_type

template<typename T , template< class > class CreationPolicy = CreateUsingNew, template< class > class LifetimePolicy = DefaultLifetime>
typedef MutexLock::baton_type LDASTools::AL::SingletonHolder< T, CreationPolicy, LifetimePolicy >::baton_type
private

◆ ObjectType

template<typename T , template< class > class CreationPolicy = CreateUsingNew, template< class > class LifetimePolicy = DefaultLifetime>
typedef T LDASTools::AL::SingletonHolder< T, CreationPolicy, LifetimePolicy >::ObjectType

◆ PtrInstanceType

template<typename T , template< class > class CreationPolicy = CreateUsingNew, template< class > class LifetimePolicy = DefaultLifetime>
typedef T* LDASTools::AL::SingletonHolder< T, CreationPolicy, LifetimePolicy >::PtrInstanceType
private

Constructor & Destructor Documentation

◆ SingletonHolder()

template<typename T , template< class > class CreationPolicy = CreateUsingNew, template< class > class LifetimePolicy = DefaultLifetime>
LDASTools::AL::SingletonHolder< T, CreationPolicy, LifetimePolicy >::SingletonHolder ( )
private

Member Function Documentation

◆ DestroySingleton()

template<typename T , template< class > class CreationPolicy, template< class > class L>
void LDASTools::AL::SingletonHolder< T, CreationPolicy, L >::DestroySingleton
staticprivate

◆ Instance()

template<class T , template< class > class CreationPolicy, template< class > class LifetimePolicy>
T & LDASTools::AL::SingletonHolder< T, CreationPolicy, LifetimePolicy >::Instance
inlinestatic

◆ MakeInstance()

template<class T , template< class > class CreationPolicy, template< class > class LifetimePolicy>
void LDASTools::AL::SingletonHolder< T, CreationPolicy, LifetimePolicy >::MakeInstance
staticprivate

Member Data Documentation

◆ baton

template<class T , template< class > class C, template< class > class L>
SingletonHolder< T, C, L >::baton_type LDASTools::AL::SingletonHolder< T, C, L >::baton
staticprivate

◆ destroyed_

template<class T , template< class > class C, template< class > class L>
bool LDASTools::AL::SingletonHolder< T, C, L >::destroyed_
staticprivate

◆ pInstance_

template<class T , template< class > class C, template< class > class L>
SingletonHolder< T, C, L >::PtrInstanceType LDASTools::AL::SingletonHolder< T, C, L >::pInstance_
staticprivate

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