Oracle Coherence for C++ API
Release 3.6.0.0
E15728-01

- Main Page
- Namespaces
- Classes
- Files

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# ThreadLocalReference Class Reference

`#include <coherence/lang/ThreadLocalReference.hpp>`

Inherits Object, and Reference.

List of all members.

## Detailed Description

ThreadLocalReferences provide a means to store a Handle to an Object in thread local storage.

A single native thread-local is used to manage all ThreadLocalReferences, which means that users are free to allocate any number of ThreadLocalReferences.

The memory associated with a thread's ThreadLocals is automatically freed when then thread terminates. The memory associated with a non-static ThreadLocalReference will be automatically freed at some point after the ThreadLocalReference has been reclaimed, and is done in such a way that repeated creation and destruction of ThreadLocalReferences will not leak memory.

## Public Types
typedef spec::Handle | Handle
| ThreadLocalReference Handle definition.
typedef spec::View | View
| ThreadLocalReference View definition.
typedef spec::Holder | Holder
| ThreadLocalReference Holder definition.
## Public Member Functions
virtual void | toStream (std::ostream &out) const
| Output a human-readable description of this Object to the given stream. coherence::lang::operator<<(std::ostream, Object::View) is defined and will call into the toStream method, to output Objects. If a managed String object is desired, the COH_TO_STRING macro can be used to build up a String from streamable contents.
     Object::View vKey   = ...
     Object::View vValue = ...
     std::cout << vKey << " = " << vValue << std::endl;

     String::Handle hs = COH_TO_STRING(vKey << " = " << vValue);
  Parameters:
  | out | the stream used to output the description
virtual void | set (Object::Holder hObject)
| Specify the Object to be referenced by the calling thread.
virtual Object::Holder | get () const
| Return a Holder to the calling threads referenced Object, or NULL if none has been set for the thread.
virtual Object::Holder | get ()
| Return a Holder to the calling threads referenced Object, or NULL if none has been set for the thread.
## Protected Member Functions
| ThreadLocalReference ()
| Create a new ThreadLocalReference.

## Constructor & Destructor Documentation

ThreadLocalReference | ( |  | ) | `[protected]`

Create a new ThreadLocalReference.

Returns:
  a handle to the new ThreadLocalReference

## Member Function Documentation

virtual void set | ( | Object::Holder | hObject | ) | `[virtual]`

Specify the Object to be referenced by the calling thread.

Parameters:

  | ohObject | the referenced object

Implements Reference.

virtual Object::Holder get | ( |  | ) | const `[virtual]`

Return a Holder to the calling threads referenced Object, or NULL if none has been set for the thread.

Returns:
  a Holder to the referenced Object

Implements Reference.

virtual Object::Holder get | ( |  | ) | `[virtual]`

Return a Holder to the calling threads referenced Object, or NULL if none has been set for the thread.

Returns:
  a Holder to the referenced Object

Implements Reference.

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

- coherence/lang/ThreadLocalReference.hpp

Copyright © 2000, 2010, Oracle and/or its affiliates. All rights reserved.