Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

# TSS_Cleanup_Instance Class Reference

Collaboration diagram for TSS_Cleanup_Instance:

[legend]
List of all members.

## Public Types
enum | Purpose { CREATE, USE, DESTROY }
## Public Member Functions
| TSS_Cleanup_Instance (Purpose purpose=USE)
| ~TSS_Cleanup_Instance ()
bool | valid ()
ACE_TSS_Cleanup * | operator-> ()
## Private Types
enum | { FLAG_DELETING = 1, FLAG_VALID_CHECKED = 2 }
## Private Member Functions
ACE_TSS_Cleanup * | operator * ()
## Private Attributes
ACE_TSS_Cleanup * | ptr_
unsigned short | flags_
## Static Private Attributes
unsigned int | reference_count_ = 0
ACE_TSS_Cleanup * | instance_ = 0
ACE_Thread_Mutex * | mutex_ = 0
ACE_Thread_Condition< ACE_Thread_Mutex > * | condition_ = 0

## Detailed Description

class to manage an instance pointer to ACE_TSS_Cleanup. Note: that the double checked locking pattern doesn't allow safe deletion. Callers who wish to access the singleton ACE_TSS_Cleanup must do so by instantiating a TSS_Cleanup_Instance, calling the valid method to be sure the ACE_TSS_Cleanup is available, then using the TSS_Cleanup_Instance as a pointer to the instance. Construction argument to the TSS_Cleanup_Instance determines how it is to be used: CREATE means allow this call to create an ACE_TSS_Cleanup if necessary. USE means use the existing ACE_TSS_Cleanup, but do not create a new one. DESTROY means provide exclusive access to the ACE_TSS_Cleanup, then delete it when the TSS_Cleanup_Instance goes out of scope.

## Member Enumeration Documentation

anonymous enum`[private]`

  | Enumeration values:
  FLAG_DELETING |
  FLAG_VALID_CHECKED |

enum TSS_Cleanup_Instance::Purpose

  | Enumeration values:
  CREATE |
  USE |
  DESTROY |

## Constructor & Destructor Documentation

TSS_Cleanup_Instance::TSS_Cleanup_Instance | ( | Purpose | purpose = `USE` | ) |

TSS_Cleanup_Instance::~TSS_Cleanup_Instance | ( |  | ) |

## Member Function Documentation

ACE_TSS_Cleanup * TSS_Cleanup_Instance::operator * | ( |  | ) | `[private]`

ACE_TSS_Cleanup * TSS_Cleanup_Instance::operator-> | ( |  | ) |

bool TSS_Cleanup_Instance::valid | ( |  | ) |

## Member Data Documentation

ACE_Thread_Condition< ACE_Thread_Mutex > * TSS_Cleanup_Instance::condition_ = 0`[static, private]`

unsigned short TSS_Cleanup_Instance::flags_`[private]`

ACE_TSS_Cleanup * TSS_Cleanup_Instance::instance_ = 0`[static, private]`

ACE_Thread_Mutex * TSS_Cleanup_Instance::mutex_ = 0`[static, private]`

ACE_TSS_Cleanup* TSS_Cleanup_Instance::ptr_`[private]`

unsigned int TSS_Cleanup_Instance::reference_count_ = 0`[static, private]`

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

- OS_NS_Thread.cpp