log4shib::threading::ThreadLocalDataHolder< T > Class Template Reference

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

#include <BoostThreads.hh>

List of all members.

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

Classes

class  Holder


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

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

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

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


Constructor & Destructor Documentation

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

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

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

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

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

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

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

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


Member Function Documentation

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

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

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

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

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

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

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

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

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

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

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.

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.

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.

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.

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:
p the new object to hold.
Postcondition:
get() == p

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.

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.

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.

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.

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:
p the new object to hold.
Postcondition:
get() == p

template<typename T>
static void log4shib::threading::ThreadLocalDataHolder< T >::freeHolder ( void *  p  )  [inline, static]

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

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

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

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

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


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

Generated on Fri Mar 20 01:25:34 2015 for log4shib by  doxygen 1.5.6