NAME
ACE_TSS_Singleton - This class uses the Adapter pattern to turn ordinary classes into Thread-specific Singletons optimized with the Double-Checked Locking optimization pattern.
SYNOPSIS
#include <ace/Singleton.h>
template<class TYPE, class ACE_LOCK>
class ACE_TSS_Singleton : public ACE_Cleanup
{
public:
static TYPE *instance (void);
virtual void cleanup (void *param = 0);
static void dump (void);
protected:
ACE_TSS_Singleton (void);
ACE_TSS_TYPE (TYPE) instance_;
static ACE_TSS_Singleton<TYPE, ACE_LOCK> *singleton_;
static ACE_TSS_Singleton<TYPE, ACE_LOCK> *&instance_i (void);
};
DESCRIPTION
PUBLIC MEMBERS
static TYPE *instance (void);
Global access point to the Singleton.
virtual void cleanup (void *param = 0);
Cleanup method, used by ace_cleanup_destroyer to destroy the singleton.
static void dump (void);
Dump the state of the object.
PROTECTED MEMBERS
ACE_TSS_Singleton (void);
Default constructor.
ACE_TSS_TYPE (TYPE) instance_;
Contained instance.
static ACE_TSS_Singleton<TYPE, ACE_LOCK> *singleton_;
Pointer to the Singleton (ACE_Cleanup) instance.
static ACE_TSS_Singleton<TYPE, ACE_LOCK> *&instance_i (void);
Get pointer to the TSS Singleton instance.
AUTHOR
Tim Harrison ([email protected]), Douglas C. Schmidt, Chris Lahey, Rich Christy, and David Levine.
LIBRARY
ace