If you can read this text, it means you are not experiencing this website at its best. This website is designed for used with a standards-compliant browser.
Current version: 2.3.2
ZThreads
A platform-independent, multi-threading and synchronization library for C++
Home Documentation Downloads CVS Contact

Singleton Class Template Reference

#include <Singleton.h>

Inheritance diagram for Singleton:

NonCopyable List of all members.

Static Public Member Functions

T * instance ()

Detailed Description

template<class T, class InstantiationPolicy = LazyInstantiation, class LockType = FastMutex>
class ZThread::Singleton< T, InstantiationPolicy, LockType >

Author:
Eric Crahen <http://www.code-foo.com>
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

T * 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: