ldas-tools-al  2.6.6
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
 
typedef T ObjectType
 
typedef T ObjectType
 

Static Public Member Functions

static T & Instance ()
 
static T & Instance ()
 
static T & Instance ()
 

Private Types

typedef T * PtrInstanceType
 
typedef MutexLock::baton_type baton_type
 
typedef T * PtrInstanceType
 
typedef MutexLock::baton_type baton_type
 
typedef T * PtrInstanceType
 
typedef MutexLock::baton_type baton_type
 

Private Member Functions

 SingletonHolder ()
 
 SingletonHolder ()
 
 SingletonHolder ()
 

Static Private Member Functions

static void MakeInstance ()
 
static void DestroySingleton ()
 
static void MakeInstance ()
 
static void DestroySingleton ()
 
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 [1/3]

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

◆ baton_type [2/3]

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

◆ baton_type [3/3]

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 [1/3]

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

◆ ObjectType [2/3]

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

◆ ObjectType [3/3]

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

◆ PtrInstanceType [1/3]

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

◆ PtrInstanceType [2/3]

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

◆ PtrInstanceType [3/3]

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() [1/3]

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

◆ SingletonHolder() [2/3]

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

◆ SingletonHolder() [3/3]

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() [1/3]

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

◆ DestroySingleton() [2/3]

template<typename T , template< class > class CreationPolicy = CreateUsingNew, template< class > class LifetimePolicy = DefaultLifetime>
static void LDASTools::AL::SingletonHolder< T, CreationPolicy, LifetimePolicy >::DestroySingleton ( )
staticprivate

◆ DestroySingleton() [3/3]

template<typename T , template< class > class CreationPolicy = CreateUsingNew, template< class > class LifetimePolicy = DefaultLifetime>
static void LDASTools::AL::SingletonHolder< T, CreationPolicy, LifetimePolicy >::DestroySingleton ( )
staticprivate

◆ Instance() [1/3]

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

◆ Instance() [2/3]

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

◆ Instance() [3/3]

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

◆ MakeInstance() [1/3]

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

◆ MakeInstance() [2/3]

template<typename T , template< class > class CreationPolicy = CreateUsingNew, template< class > class LifetimePolicy = DefaultLifetime>
static void LDASTools::AL::SingletonHolder< T, CreationPolicy, LifetimePolicy >::MakeInstance ( )
staticprivate

◆ MakeInstance() [3/3]

template<typename T , template< class > class CreationPolicy = CreateUsingNew, template< class > class LifetimePolicy = DefaultLifetime>
static void LDASTools::AL::SingletonHolder< T, CreationPolicy, LifetimePolicy >::MakeInstance ( )
staticprivate

Member Data Documentation

◆ baton

template<typename T , template< class > class CreationPolicy = CreateUsingNew, template< class > class LifetimePolicy = DefaultLifetime>
SingletonHolder< T, C, L >::baton_type LDASTools::AL::SingletonHolder< T, C, L >::baton
staticprivate

◆ destroyed_

template<typename T , template< class > class CreationPolicy = CreateUsingNew, template< class > class LifetimePolicy = DefaultLifetime>
bool LDASTools::AL::SingletonHolder< T, C, L >::destroyed_
staticprivate

◆ pInstance_

template<typename T , template< class > class CreationPolicy = CreateUsingNew, template< class > class LifetimePolicy = DefaultLifetime>
SingletonHolder< T, C, L >::PtrInstanceType LDASTools::AL::SingletonHolder< T, C, L >::pInstance_
staticprivate

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