log4cpp::threading::ThreadLocalDataHolder
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]
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 >::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]
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]
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. 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 >::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]
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 > 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]
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]
Author
Generated automatically by Doxygen for log4cpp from the source code.