#include <Singleton.h>
| Static Public Member Functions | |
| static T & | instance () | 
| Provide access to the singleton instance. | |
| Private Member Functions | |
| Singleton & | operator= (const Singleton &) | 
| Forbid assignment. | |
| Singleton () | |
| Forbid creation. | |
| Singleton (const Singleton &) | |
| Forbid copy-construction. | |
| ~Singleton () | |
| Forbid deletion. | |
| Static Private Member Functions | |
| static void | destroySingleton () | 
| Helper for destroying the instance. | |
| Static Private Attributes | |
| static bool | m_destroyed = false | 
| Indicates whether the instance has been destroyed. | |
| static T * | m_instance = NULL | 
| The singleton instance. | |
| static TThreadingModel< T >::Lock | m_lock | 
| The lock for synchronizing instantiation. Must be default-constructable. | |
A generic, policy-based singleton.
| T | The class for which to maintain a singleton instance. | 
| TCreationPolicy | A policy for creating the instance, to allow for different allocators. | 
| TLifetimePolicy | A policy for managing the instance's lifetime, to control whether, when and how to destroy the instance. | 
| TThreadingModel | A policy for managing thread safety. The standard model provided in icl_core is for single-threaded use only. Thread-safe implementations can be found in icl_core_logging and icl_core_thread. | 
Definition at line 55 of file Singleton.h.
| icl_core::Singleton< T, TCreationPolicy, TLifetimePolicy, TThreadingModel >::Singleton | ( | ) |  [private] | 
Forbid creation.
| icl_core::Singleton< T, TCreationPolicy, TLifetimePolicy, TThreadingModel >::~Singleton | ( | ) |  [private] | 
Forbid deletion.
| icl_core::Singleton< T, TCreationPolicy, TLifetimePolicy, TThreadingModel >::Singleton | ( | const Singleton< T, TCreationPolicy, TLifetimePolicy, TThreadingModel > & | ) |  [private] | 
Forbid copy-construction.
| void icl_core::Singleton< T, TCreationPolicy, TLifetimePolicy, TThreadingModel >::destroySingleton | ( | ) |  [static, private] | 
Helper for destroying the instance.
Definition at line 64 of file Singleton.hpp.
| T & icl_core::Singleton< T, TCreationPolicy, TLifetimePolicy, TThreadingModel >::instance | ( | ) |  [static] | 
Provide access to the singleton instance.
Definition at line 37 of file Singleton.hpp.
| Singleton& icl_core::Singleton< T, TCreationPolicy, TLifetimePolicy, TThreadingModel >::operator= | ( | const Singleton< T, TCreationPolicy, TLifetimePolicy, TThreadingModel > & | ) |  [private] | 
Forbid assignment.
| bool icl_core::Singleton< T, TCreationPolicy, TLifetimePolicy, TThreadingModel >::m_destroyed = false  [static, private] | 
Indicates whether the instance has been destroyed.
Definition at line 76 of file Singleton.h.
| T * icl_core::Singleton< T, TCreationPolicy, TLifetimePolicy, TThreadingModel >::m_instance = NULL  [static, private] | 
The singleton instance.
Definition at line 74 of file Singleton.h.
| TThreadingModel< T >::Lock icl_core::Singleton< T, TCreationPolicy, TLifetimePolicy, TThreadingModel >::m_lock  [static, private] | 
The lock for synchronizing instantiation. Must be default-constructable.
Definition at line 78 of file Singleton.h.