|
ACE 6.0.5
|

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 | |
| static unsigned int | reference_count_ = 0 |
| static ACE_TSS_Cleanup * | instance_ = 0 |
| static ACE_Thread_Mutex * | mutex_ = 0 |
| static ACE_Thread_Condition < ACE_Thread_Mutex > * | condition_ = 0 |
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.
| TSS_Cleanup_Instance::TSS_Cleanup_Instance | ( | Purpose | purpose = USE | ) |
| TSS_Cleanup_Instance::~TSS_Cleanup_Instance | ( | void | ) |
| ACE_TSS_Cleanup * TSS_Cleanup_Instance::operator* | ( | ) | [private] |
| ACE_TSS_Cleanup * TSS_Cleanup_Instance::operator-> | ( | void | ) |
| bool TSS_Cleanup_Instance::valid | ( | ) |
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] |
1.7.4