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

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

#include <BoostThreads.hh>

Collaboration diagram for log4cpp::threading::ThreadLocalDataHolder< T >:

Collaboration graph
[legend]
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 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.


Member Typedef Documentation

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

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

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


Constructor & Destructor Documentation

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

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

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

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

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

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

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

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


Member Function Documentation

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

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

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

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

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

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

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

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

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

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

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.

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.

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.

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.

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

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.

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.

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.

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.

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

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

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

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

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

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

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


The documentation for this class was generated from the following files:
Generated on Mon Sep 3 11:55:09 2007 for log4cpp by  doxygen 1.5.2