# 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 >:

[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:

- BoostThreads.hh
- DummyThreads.hh
- MSThreads.hh
- OmniThreads.hh
- PThreads.hh