27 #ifndef ICL_CORE_SINGLETON_HPP_INCLUDED 28 #define ICL_CORE_SINGLETON_HPP_INCLUDED 35 <
class T,
template <
class>
class TCreationPolicy,
36 template <
class>
class TLifetimePolicy,
template <
class>
class TThreadingModel>
40 TThreadingModel<T>::memoryBarrier();
43 typename TThreadingModel<T>::Guard guard(m_lock);
49 TLifetimePolicy<T>::onDeadReference();
52 temp = TCreationPolicy<T>::create();
53 TThreadingModel<T>::memoryBarrier();
55 TLifetimePolicy<T>::scheduleDestruction(&destroySingleton);
62 <
class T,
template <
class>
class TCreationPolicy,
63 template <
class>
class TLifetimePolicy,
template <
class>
class TThreadingModel>
66 TCreationPolicy<T>::destroy(m_instance);
72 <
class T,
template <
class>
class TCreationPolicy,
73 template <
class>
class TLifetimePolicy,
template <
class>
class TThreadingModel>
77 <
class T,
template <
class>
class TCreationPolicy,
78 template <
class>
class TLifetimePolicy,
template <
class>
class TThreadingModel>
82 <
class T,
template <
class>
class TCreationPolicy,
83 template <
class>
class TLifetimePolicy,
template <
class>
class TThreadingModel>
Contains icl_core::Singleton.
static void destroySingleton()
Helper for destroying the instance.
static T & instance()
Provide access to the singleton instance.