Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages

# ACE_Unmanaged_Singleton Class Template Reference

Same as <ACE_Singleton>, except does _not_ register with <ACE_Object_Manager> for destruction. More...

`#include <Singleton.h>`

Inheritance diagram for ACE_Unmanaged_Singleton:

[legend]
Collaboration diagram for ACE_Unmanaged_Singleton:

[legend]
List of all members.

## Static Public Methods
TYPE * | instance (void)
| Global access point to the Singleton. More...
void | close (void)
| Explicitly delete the Singleton instance. More...
void | dump (void)
| Dump the state of the object. More...
## Protected Methods
| ACE_Unmanaged_Singleton (void)
| Default constructor. More...
## Static Protected Methods
ACE_Unmanaged_Singleton< TYPE, ACE_LOCK > *& | instance_i (void)
| Get pointer to the Singleton instance. More...
## Static Protected Attributes
ACE_Unmanaged_Singleton< TYPE, ACE_LOCK > * | singleton_ = 0
| Pointer to the Singleton (ACE_Cleanup) instance. More...

## Detailed Description

### template<class TYPE, class ACE_LOCK>
class ACE_Unmanaged_Singleton< TYPE, ACE_LOCK >

Same as <ACE_Singleton>, except does _not_ register with <ACE_Object_Manager> for destruction.

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.

## Constructor & Destructor Documentation

template<class TYPE, class ACE_LOCK>
ACE_INLINE ACE_Unmanaged_Singleton< TYPE, ACE_LOCK >::ACE_Unmanaged_Singleton | ( | void |  | ) | `[protected]`

| Default constructor.

## Member Function Documentation

template<class TYPE, class ACE_LOCK>
void ACE_Unmanaged_Singleton< TYPE, ACE_LOCK >::close | ( | void |  | ) | `[static]`

| Explicitly delete the Singleton instance.

template<class TYPE, class ACE_LOCK>
void ACE_Unmanaged_Singleton< TYPE, ACE_LOCK >::dump | ( | void |  | ) | `[static]`

| Dump the state of the object. Reimplemented from ACE_Singleton.

template<class TYPE, class ACE_LOCK>
TYPE * ACE_Unmanaged_Singleton< TYPE, ACE_LOCK >::instance | ( | void |  | ) | `[static]`

| Global access point to the Singleton. Reimplemented from ACE_Singleton.

template<class TYPE, class ACE_LOCK>
ACE_Unmanaged_Singleton< TYPE, ACE_LOCK > *& ACE_Unmanaged_Singleton< TYPE, ACE_LOCK >::instance_i | ( | void |  | ) | `[static, protected]`

| Get pointer to the Singleton instance. Reimplemented from ACE_Singleton.

## Member Data Documentation

template<class TYPE, class ACE_LOCK>
ACE_Unmanaged_Singleton< TYPE, ACE_LOCK > * ACE_Unmanaged_Singleton< TYPE, ACE_LOCK >::singleton_ = 0`[static, protected]`

| Pointer to the Singleton (ACE_Cleanup) instance. Reimplemented from ACE_Singleton.

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

- Singleton.h
- Singleton.cpp
- Singleton.i