#include <Singleton.h>
Static Public Member Functions | |
static TYPE * | instance (void) |
Global access point to the Singleton. | |
static void | close (void) |
Explicitly delete the Singleton instance. | |
static void | dump (void) |
Dump the state of the object. | |
Protected Member Functions | |
ACE_Unmanaged_Singleton (void) | |
Default constructor. | |
Static Protected Member Functions | |
static ACE_Unmanaged_Singleton < TYPE, ACE_LOCK > *& | instance_i (void) |
Get pointer to the Singleton instance. | |
Static Protected Attributes | |
static ACE_Unmanaged_Singleton < TYPE, ACE_LOCK > * | singleton_ = 0 |
Pointer to the Singleton (ACE_Cleanup) instance. |
This version of ACE_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. Usage is the same as for ACE_Singleton, but note that if you you declare a friend, the friend class must still be an *ACE_Singleton*<T, [ACE_LOCK]>, not an ACE_Unmanaged_Singleton.
ACE_Unmanaged_Singleton< TYPE, ACE_LOCK >::ACE_Unmanaged_Singleton | ( | void | ) | [inline, protected] |
Default constructor.
void ACE_Unmanaged_Singleton< TYPE, ACE_LOCK >::close | ( | void | ) | [inline, static] |
void ACE_Unmanaged_Singleton< TYPE, ACE_LOCK >::dump | ( | void | ) | [inline, static] |
TYPE * ACE_Unmanaged_Singleton< TYPE, ACE_LOCK >::instance | ( | void | ) | [inline, static] |
ACE_Unmanaged_Singleton< TYPE, ACE_LOCK > *& ACE_Unmanaged_Singleton< TYPE, ACE_LOCK >::instance_i | ( | void | ) | [inline, static, protected] |
ACE_Unmanaged_Singleton< TYPE, ACE_LOCK > * ACE_Unmanaged_Singleton< TYPE, ACE_LOCK >::singleton_ = 0 [inline, static, protected] |
Pointer to the Singleton (ACE_Cleanup) instance.
Reimplemented from ACE_Singleton< TYPE, ACE_LOCK >.