NAME

ACE_Singleton - A Singleton Adapter uses the Adapter pattern to turn ordinary classes into Singletons optimized with the Double-Checked Locking optimization pattern.

SYNOPSIS

#include <ace/Singleton.h>

template<class TYPE, class ACE_LOCK> class ACE_Singleton : public ACE_Cleanup { public: static TYPE *instance (void); virtual void cleanup (void *param = 0); static void dump (void); protected: ACE_Singleton (void); TYPE instance_; static ACE_Singleton<TYPE, ACE_LOCK> *singleton_; static ACE_Singleton<TYPE, ACE_LOCK> *&instance_i (void); };

DESCRIPTION

PUBLIC MEMBERS

static TYPE *instance (void);

virtual void cleanup (void *param = 0);

static void dump (void);

PROTECTED MEMBERS

ACE_Singleton (void);

TYPE instance_;

static ACE_Singleton<TYPE, ACE_LOCK> *singleton_;

static ACE_Singleton<TYPE, ACE_LOCK> *&instance_i (void);

AUTHOR

Tim Harrison (harrison@cs.wustl.edu), Douglas C. Schmidt, Chris Lahey, Rich Christy, and David Levine.

LIBRARY

ace