NAME

log4cpp::threading::ThreadLocalDataHolder< T > -

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

SYNOPSIS


#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.
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)

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.

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 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 > 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 >::get () const [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 >::get () const [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]

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

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 >::operator* () const [inline]

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 >::operator-> () const [inline]

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

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]

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 >::release () [inline]

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

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 > T* log4cpp::threading::ThreadLocalDataHolder< T >::release () [inline]

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]

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

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 > void log4cpp::threading::ThreadLocalDataHolder< T >::reset (T *p = NULL) [inline]

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

Author

Generated automatically by Doxygen for log4cpp from the source code.