ACE  6.4.0
Static Public Member Functions | Public Attributes | Protected Member Functions | Static Protected Member Functions | Static Protected Attributes | List of all members
ACE_Unmanaged_TSS_Singleton< TYPE, ACE_LOCK > Class Template Reference

Same as ACE_TSS_Singleton, except does not register with ACE_Object_Manager for destruction. More...

#include <Singleton.h>

Inheritance diagram for ACE_Unmanaged_TSS_Singleton< TYPE, ACE_LOCK >:
Inheritance graph
[legend]
Collaboration diagram for ACE_Unmanaged_TSS_Singleton< TYPE, ACE_LOCK >:
Collaboration graph
[legend]

Static Public Member Functions

static TYPE * instance (void)
 Global access point to the singleton. More...
 
static void close (void)
 Explicitly delete the singleton instance. More...
 
static void dump (void)
 Dump the state of the object. More...
 
- Static Public Member Functions inherited from ACE_TSS_Singleton< TYPE, ACE_LOCK >
static TYPE * instance (void)
 Global access point to the singleton. More...
 
static void dump (void)
 Dump the state of the object. More...
 

Public Attributes

 ACE_ALLOC_HOOK_DECLARE
 Declare the dynamic allocation hooks. More...
 
- Public Attributes inherited from ACE_TSS_Singleton< TYPE, ACE_LOCK >
 ACE_ALLOC_HOOK_DECLARE
 Declare the dynamic allocation hooks. More...
 

Protected Member Functions

 ACE_Unmanaged_TSS_Singleton (void)
 Default constructor. More...
 
- Protected Member Functions inherited from ACE_TSS_Singleton< TYPE, ACE_LOCK >
 ACE_TSS_Singleton (void)
 Default constructor. More...
 
 ACE_TSS_TYPE (TYPE) instance_
 Contained instance. More...
 
void operator= (const ACE_TSS_Singleton< TYPE, ACE_LOCK > &)
 
 ACE_TSS_Singleton (const ACE_TSS_Singleton< TYPE, ACE_LOCK > &)
 

Static Protected Member Functions

static ACE_Unmanaged_TSS_Singleton< TYPE, ACE_LOCK > *& instance_i (void)
 Get pointer to the Singleton instance. More...
 
- Static Protected Member Functions inherited from ACE_TSS_Singleton< TYPE, ACE_LOCK >
static ACE_TSS_Singleton< TYPE, ACE_LOCK > *& instance_i (void)
 Get pointer to the TSS Singleton instance. More...
 

Static Protected Attributes

static ACE_Unmanaged_TSS_Singleton< TYPE, ACE_LOCK > * singleton_ = 0
 Pointer to the Singleton (ACE_Cleanup) instance. More...
 
- Static Protected Attributes inherited from ACE_TSS_Singleton< TYPE, ACE_LOCK >
static ACE_TSS_Singleton< TYPE, ACE_LOCK > * singleton_ = 0
 Pointer to the Singleton (ACE_Cleanup) instance. More...
 

Additional Inherited Members

- Public Member Functions inherited from ACE_TSS_Singleton< TYPE, ACE_LOCK >
virtual void cleanup (void *param=0)
 
- Public Member Functions inherited from ACE_Cleanup
 ACE_Cleanup (void)
 No-op constructor. More...
 
virtual ~ACE_Cleanup (void)
 Destructor. More...
 

Detailed Description

template<class TYPE, class ACE_LOCK>
class ACE_Unmanaged_TSS_Singleton< TYPE, ACE_LOCK >

Same as ACE_TSS_Singleton, except does not register with ACE_Object_Manager for destruction.

This version of ACE_TSS_Singleton can be used if, for example, its DLL will be unloaded before the ACE_Object_Manager destroys the instance. Unlike with ACE_Singleton, the application is responsible for explicitly destroying the instance after it is no longer needed (if it wants to avoid memory leaks, at least). The close() static member function must be used to explicitly destroy the Singleton.

Constructor & Destructor Documentation

template<class TYPE , class ACE_LOCK >
ACE_Unmanaged_TSS_Singleton< TYPE, ACE_LOCK >::ACE_Unmanaged_TSS_Singleton ( void  )
inlineprotected

Default constructor.

Member Function Documentation

template<class TYPE , class ACE_LOCK >
void ACE_Unmanaged_TSS_Singleton< TYPE, ACE_LOCK >::close ( void  )
static

Explicitly delete the singleton instance.

template<class TYPE , class ACE_LOCK >
void ACE_Unmanaged_TSS_Singleton< TYPE, ACE_LOCK >::dump ( void  )
static

Dump the state of the object.

template<class TYPE , class ACE_LOCK >
TYPE * ACE_Unmanaged_TSS_Singleton< TYPE, ACE_LOCK >::instance ( void  )
static

Global access point to the singleton.

template<class TYPE , class ACE_LOCK >
ACE_Unmanaged_TSS_Singleton< TYPE, ACE_LOCK > *& ACE_Unmanaged_TSS_Singleton< TYPE, ACE_LOCK >::instance_i ( void  )
staticprotected

Get pointer to the Singleton instance.

Member Data Documentation

template<class TYPE , class ACE_LOCK >
ACE_Unmanaged_TSS_Singleton< TYPE, ACE_LOCK >::ACE_ALLOC_HOOK_DECLARE

Declare the dynamic allocation hooks.

template<class TYPE , class ACE_LOCK >
ACE_Unmanaged_TSS_Singleton< TYPE, ACE_LOCK > * ACE_Unmanaged_TSS_Singleton< TYPE, ACE_LOCK >::singleton_ = 0
staticprotected

Pointer to the Singleton (ACE_Cleanup) instance.


The documentation for this class was generated from the following files: