Singleton< T, InstantiationPolicy, LockType > Class Template Reference
#include <Singleton.h>
Inheritance diagram for Singleton< T, InstantiationPolicy, LockType >:

Static Public Member Functions | |
static T * | instance () |
Detailed Description
template<class T, class InstantiationPolicy = LazyInstantiation, class LockType = FastMutex>
class ZThread::Singleton< T, InstantiationPolicy, LockType >
class ZThread::Singleton< T, InstantiationPolicy, LockType >
- Date
- <2003-07-16T17:57:45-0400>
- Version
- 2.2.0
Based on the work of John Vlissidles in his book 'Pattern Hatching' an article by Douglas Schmidtt on double-checked locking and policy templates described by Andrei Alexandrescu.
This is a thread safe wrapper for creating Singleton classes. The synchronization method and instantiation methods can be changed easily by specifying different policy implementations as the templates parameters.
// Most common Singleton
Singletion<LonesomeType>
// Singleton that uses static storage
Singletion<LonesomeType, StaticInstantiation>
// Single-threaded singleton that uses static storage (Meyers-like)
Singletion<LonesomeType, LocalStaticInstantiation, NotLocked>
Member Function Documentation
◆ instance()
|
static |
Provide access to the single instance through double-checked locking
- Returns
- T* single instance
The documentation for this class was generated from the following file:
- Singleton.h