Classes | Public Types | Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
log4cpp::threading::ThreadLocalDataHolder< T > Class Template Reference

#include <BoostThreads.hh>

Classes

class  Holder
 

Public Types

typedef T data_type
 
typedef T data_type
 
typedef T data_type
 

Public Member Functions

T * get () const
 
T * get () const
 
T * get () const
 
T * get () const
 
T * get () const
 
T & operator* () const
 
T & operator* () const
 
T & operator* () const
 
T & operator* () const
 
T & operator* () const
 
T * operator-> () const
 
T * operator-> () const
 
T * operator-> () const
 
T * operator-> () const
 
T * operator-> () const
 
T * release ()
 
T * release ()
 
T * release ()
 
T * release ()
 
T * release ()
 
void reset (T *p=NULL)
 
void reset (T *p=NULL)
 
void reset (T *p=NULL)
 
void reset (T *p=NULL)
 
void reset (T *p=NULL)
 
 ThreadLocalDataHolder ()
 
 ThreadLocalDataHolder ()
 
 ThreadLocalDataHolder ()
 
 ThreadLocalDataHolder ()
 
 ~ThreadLocalDataHolder ()
 
 ~ThreadLocalDataHolder ()
 
 ~ThreadLocalDataHolder ()
 
 ~ThreadLocalDataHolder ()
 

Static Public Member Functions

static void freeHolder (void *p)
 

Private Attributes

T * _data
 
pthread_key_t _key
 
omni_thread::key_t _key
 
DWORD _key
 
boost::thread_specific_ptr< T > _localData
 

Detailed Description

template<typename T>
class log4cpp::threading::ThreadLocalDataHolder< T >

This class holds Thread local data of type T, i.e. for each thread a ThreadLocalDataHolder holds 0 or 1 instance of T. The held object must be heap allocated and will be deleted upon termination of the thread to which it belongs.

This class holds Thread local data of type T, i.e. for each thread a ThreadLocalDataHolder holds 0 or 1 instance of T. The held object must be heap allocated and will be deleted upon termination of the thread to wich it belongs. This is an omni_threads based equivalent of Boost.Threads thread_specific_ptr<T> class.

Definition at line 42 of file BoostThreads.hh.

Member Typedef Documentation

template<typename T>
typedef T log4cpp::threading::ThreadLocalDataHolder< T >::data_type

Definition at line 43 of file DummyThreads.hh.

template<typename T>
typedef T log4cpp::threading::ThreadLocalDataHolder< T >::data_type

Definition at line 60 of file OmniThreads.hh.

template<typename T>
typedef T log4cpp::threading::ThreadLocalDataHolder< T >::data_type

Definition at line 88 of file PThreads.hh.

Constructor & Destructor Documentation

Definition at line 45 of file DummyThreads.hh.

template<typename T>
log4cpp::threading::ThreadLocalDataHolder< T >::~ThreadLocalDataHolder ( )
inline

Definition at line 46 of file DummyThreads.hh.

Definition at line 112 of file MSThreads.hh.

template<typename T>
log4cpp::threading::ThreadLocalDataHolder< T >::~ThreadLocalDataHolder ( )
inline

Definition at line 115 of file MSThreads.hh.

Definition at line 62 of file OmniThreads.hh.

template<typename T>
log4cpp::threading::ThreadLocalDataHolder< T >::~ThreadLocalDataHolder ( )
inline

Definition at line 65 of file OmniThreads.hh.

Definition at line 90 of file PThreads.hh.

template<typename T>
log4cpp::threading::ThreadLocalDataHolder< T >::~ThreadLocalDataHolder ( )
inline

Definition at line 99 of file PThreads.hh.

Member Function Documentation

template<typename T>
static void log4cpp::threading::ThreadLocalDataHolder< T >::freeHolder ( void *  p)
inlinestatic

Definition at line 94 of file PThreads.hh.

template<typename T>
T* log4cpp::threading::ThreadLocalDataHolder< T >::get ( ) const
inline

Definition at line 44 of file BoostThreads.hh.

template<typename T>
T* log4cpp::threading::ThreadLocalDataHolder< T >::get ( ) const
inline

Definition at line 51 of file DummyThreads.hh.

template<typename T>
T* log4cpp::threading::ThreadLocalDataHolder< T >::get ( ) const
inline

Obtains the Object held for the current thread.

Returns
a pointer to the held Object or NULL if no Object has been set for the current thread.

Definition at line 72 of file OmniThreads.hh.

template<typename T>
T* log4cpp::threading::ThreadLocalDataHolder< T >::get ( ) const
inline

Definition at line 107 of file PThreads.hh.

template<typename T>
T* log4cpp::threading::ThreadLocalDataHolder< T >::get ( ) const
inline

Obtains the Object held for the current thread.

Returns
a pointer to the held Object or NULL if no Object has been set for the current thread.

Definition at line 122 of file MSThreads.hh.

template<typename T>
T& log4cpp::threading::ThreadLocalDataHolder< T >::operator* ( ) const
inline

Definition at line 49 of file BoostThreads.hh.

template<typename T>
T& log4cpp::threading::ThreadLocalDataHolder< T >::operator* ( ) const
inline

Definition at line 56 of file DummyThreads.hh.

template<typename T>
T& log4cpp::threading::ThreadLocalDataHolder< T >::operator* ( ) const
inline

Obtains the Object held for the current thread.

Precondition
get() != NULL
Returns
a reference to the held Object.

Definition at line 91 of file OmniThreads.hh.

template<typename T>
T& log4cpp::threading::ThreadLocalDataHolder< T >::operator* ( ) const
inline

Definition at line 112 of file PThreads.hh.

template<typename T>
T& log4cpp::threading::ThreadLocalDataHolder< T >::operator* ( ) const
inline

Obtains the Object held for the current thread.

Precondition
get() != NULL
Returns
a reference to the held Object.

Definition at line 139 of file MSThreads.hh.

template<typename T>
T* log4cpp::threading::ThreadLocalDataHolder< T >::operator-> ( ) const
inline

Definition at line 48 of file BoostThreads.hh.

template<typename T>
T* log4cpp::threading::ThreadLocalDataHolder< T >::operator-> ( ) const
inline

Definition at line 55 of file DummyThreads.hh.

template<typename T>
T* log4cpp::threading::ThreadLocalDataHolder< T >::operator-> ( ) const
inline

Obtains the Object held for the current thread. Initially each thread holds NULL.

Returns
a pointer to the held Object or NULL if no Object has been set for the current thread.

Definition at line 84 of file OmniThreads.hh.

template<typename T>
T* log4cpp::threading::ThreadLocalDataHolder< T >::operator-> ( ) const
inline

Definition at line 111 of file PThreads.hh.

template<typename T>
T* log4cpp::threading::ThreadLocalDataHolder< T >::operator-> ( ) const
inline

Obtains the Object held for the current thread. Initially each thread holds NULL.

Returns
a pointer to the held Object or NULL if no Object has been set for the current thread.

Definition at line 132 of file MSThreads.hh.

template<typename T>
T* log4cpp::threading::ThreadLocalDataHolder< T >::release ( )
inline

Definition at line 51 of file BoostThreads.hh.

template<typename T>
T* log4cpp::threading::ThreadLocalDataHolder< T >::release ( )
inline

Definition at line 58 of file DummyThreads.hh.

template<typename T>
T* log4cpp::threading::ThreadLocalDataHolder< T >::release ( )
inline

Releases the Object held for the current thread.

Postcondition
get() == NULL
Returns
a pointer to the Object thas was held for the current thread or NULL if no Object was held.

Definition at line 99 of file OmniThreads.hh.

template<typename T>
T* log4cpp::threading::ThreadLocalDataHolder< T >::release ( )
inline

Definition at line 114 of file PThreads.hh.

template<typename T>
T* log4cpp::threading::ThreadLocalDataHolder< T >::release ( )
inline

Releases the Object held for the current thread.

Postcondition
get() == NULL
Returns
a pointer to the Object thas was held for the current thread or NULL if no Object was held.

Definition at line 147 of file MSThreads.hh.

template<typename T>
void log4cpp::threading::ThreadLocalDataHolder< T >::reset ( T *  p = NULL)
inline

Definition at line 55 of file BoostThreads.hh.

template<typename T>
void log4cpp::threading::ThreadLocalDataHolder< T >::reset ( T *  p = NULL)
inline

Definition at line 65 of file DummyThreads.hh.

template<typename T>
void log4cpp::threading::ThreadLocalDataHolder< T >::reset ( T *  p = NULL)
inline

Sets a new Object to be held for the current thread. A previously set Object will be deleted.

Parameters
pthe new object to hold.
Postcondition
get() == p

Definition at line 118 of file OmniThreads.hh.

template<typename T>
void log4cpp::threading::ThreadLocalDataHolder< T >::reset ( T *  p = NULL)
inline

Definition at line 121 of file PThreads.hh.

template<typename T>
void log4cpp::threading::ThreadLocalDataHolder< T >::reset ( T *  p = NULL)
inline

Sets a new Object to be held for the current thread. A previously set Object will be deleted.

Parameters
pthe new object to hold.
Postcondition
get() == p

Definition at line 159 of file MSThreads.hh.

Member Data Documentation

template<typename T>
T* log4cpp::threading::ThreadLocalDataHolder< T >::_data
private

Definition at line 69 of file DummyThreads.hh.

template<typename T>
pthread_key_t log4cpp::threading::ThreadLocalDataHolder< T >::_key
private

Definition at line 85 of file PThreads.hh.

template<typename T>
omni_thread::key_t log4cpp::threading::ThreadLocalDataHolder< T >::_key
private

Definition at line 143 of file OmniThreads.hh.

template<typename T>
DWORD log4cpp::threading::ThreadLocalDataHolder< T >::_key
private

Definition at line 163 of file MSThreads.hh.

template<typename T>
boost::thread_specific_ptr<T> log4cpp::threading::ThreadLocalDataHolder< T >::_localData
private

Definition at line 57 of file BoostThreads.hh.


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


log4cpp
Author(s): Stephen Roderick, Bastiaan Bakker, Cedric Le Goater, Steve Ostlind, Marcel Harkema, Walter Stroebel, Glenn Scott and Tony Cheung
autogenerated on Sun Jun 23 2019 19:14:17