27 #ifndef ICL_CORE_SINGLETON_H_INCLUDED 28 #define ICL_CORE_SINGLETON_H_INCLUDED 52 template <
class>
class TCreationPolicy = SCPCreateUsingNew,
53 template <
class>
class TLifetimePolicy = SLPDefaultLifetime,
54 template <
class>
class TThreadingModel = STMSingleThreaded>
78 static typename TThreadingModel<T>::Lock
m_lock;
static TThreadingModel< T >::Lock m_lock
The lock for synchronizing instantiation. Must be default-constructable.
Contains lifetime policies for icl_core::Singleton.
Singleton()
Forbid creation.
static bool m_destroyed
Indicates whether the instance has been destroyed.
Singleton & operator=(const Singleton &)
Forbid assignment.
Contains a basic threading model for icl_core::Singleton.
static void destroySingleton()
Helper for destroying the instance.
~Singleton()
Forbid deletion.
static T & instance()
Provide access to the singleton instance.
static T * m_instance
The singleton instance.
Contains creation policies for icl_core::Singleton.