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

This class holds Thread local data of type T, i.e. More...

#include <BoostThreads.hh>

Public Types

typedef T data_type
 
typedef T data_type
 
typedef T data_type
 

Public Member Functions

T * get () const
 
T * operator-> () const
 
T & operator* () const
 
T * release ()
 
void reset (T *p=NULL)
 
 ThreadLocalDataHolder ()
 
 ~ThreadLocalDataHolder ()
 
T * get () const
 
T * operator-> () const
 
T & operator* () const
 
T * release ()
 
void reset (T *p=NULL)
 
 ThreadLocalDataHolder ()
 
 ~ThreadLocalDataHolder ()
 
T * get () const
 Obtains the Object held for the current thread. More...
 
T * operator-> () const
 Obtains the Object held for the current thread. More...
 
T & operator* () const
 Obtains the Object held for the current thread. More...
 
T * release ()
 Releases the Object held for the current thread. More...
 
void reset (T *p=NULL)
 Sets a new Object to be held for the current thread. More...
 
 ThreadLocalDataHolder ()
 
 ~ThreadLocalDataHolder ()
 
T * get () const
 Obtains the Object held for the current thread. More...
 
T * operator-> () const
 Obtains the Object held for the current thread. More...
 
T & operator* () const
 Obtains the Object held for the current thread. More...
 
T * release ()
 Releases the Object held for the current thread. More...
 
void reset (T *p=NULL)
 Sets a new Object to be held for the current thread. More...
 
 ThreadLocalDataHolder ()
 
 ~ThreadLocalDataHolder ()
 
T * get () const
 
T * operator-> () const
 
T & operator* () const
 
T * release ()
 
void reset (T *p=NULL)
 

Static Public Member Functions

static void freeHolder (void *p)
 

Detailed Description

template<typename T>
class log4shib::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.

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.

Member Typedef Documentation

§ data_type [1/3]

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

§ data_type [2/3]

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

§ data_type [3/3]

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

Constructor & Destructor Documentation

§ ThreadLocalDataHolder() [1/4]

template<typename T >
log4shib::threading::ThreadLocalDataHolder< T >::ThreadLocalDataHolder ( )
inline

§ ~ThreadLocalDataHolder() [1/4]

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

§ ThreadLocalDataHolder() [2/4]

template<typename T >
log4shib::threading::ThreadLocalDataHolder< T >::ThreadLocalDataHolder ( )
inline

§ ~ThreadLocalDataHolder() [2/4]

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

§ ThreadLocalDataHolder() [3/4]

template<typename T >
log4shib::threading::ThreadLocalDataHolder< T >::ThreadLocalDataHolder ( )
inline

§ ~ThreadLocalDataHolder() [3/4]

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

§ ThreadLocalDataHolder() [4/4]

template<typename T >
log4shib::threading::ThreadLocalDataHolder< T >::ThreadLocalDataHolder ( )
inline

§ ~ThreadLocalDataHolder() [4/4]

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

Member Function Documentation

§ freeHolder()

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

§ get() [1/5]

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

§ get() [2/5]

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

§ get() [3/5]

template<typename T >
T* log4shib::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.

§ get() [4/5]

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

§ get() [5/5]

template<typename T >
T* log4shib::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.

§ operator*() [1/5]

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

§ operator*() [2/5]

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

§ operator*() [3/5]

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

Obtains the Object held for the current thread.

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

§ operator*() [4/5]

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

§ operator*() [5/5]

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

Obtains the Object held for the current thread.

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

§ operator->() [1/5]

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

§ operator->() [2/5]

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

§ operator->() [3/5]

template<typename T >
T* log4shib::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.

§ operator->() [4/5]

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

§ operator->() [5/5]

template<typename T >
T* log4shib::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.

§ release() [1/5]

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

§ release() [2/5]

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

§ release() [3/5]

template<typename T >
T* log4shib::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.

§ release() [4/5]

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

§ release() [5/5]

template<typename T >
T* log4shib::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.

§ reset() [1/5]

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

§ reset() [2/5]

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

§ reset() [3/5]

template<typename T >
void log4shib::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

§ reset() [4/5]

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

§ reset() [5/5]

template<typename T >
void log4shib::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

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