RelinkableHandle< T > Class Template Reference

Relinkable handle to an observable. More...

`#include <ql/handle.hpp>`

Inheritance diagram for RelinkableHandle< T >:
[legend]

## Public Member Functions

| RelinkableHandle (const boost::shared_ptr< T > &p=boost::shared_ptr< T >(), bool registerAsObserver=true)
| RelinkableHandle (T *p, bool registerAsObserver=true)
void | linkTo (const boost::shared_ptr< T > &, bool registerAsObserver=true)
Public Member Functions inherited from Handle< T >
const boost::shared_ptr< T > & | currentLink () const
| dereferencing
const boost::shared_ptr< T > & | operator-> () const
const boost::shared_ptr< T > & | operator* () const
bool | empty () const
| checks if the contained shared pointer points to anything
| operator boost::shared_ptr< Observable > () const
| allows registration as observable
template<class U >
bool | operator== (const Handle< U > &other)
| equality test
template<class U >
bool | operator!= (const Handle< U > &other)
| disequality test
template<class U >
bool | operator< (const Handle< U > &other)
| strict weak ordering
| Handle (const boost::shared_ptr< T > &p=boost::shared_ptr< T >(), bool registerAsObserver=true)

## Additional Inherited Members

Protected Attributes inherited from Handle< T >
boost::shared_ptr< Link > | link_

## Detailed Description

### template<class T>
class QuantLib::RelinkableHandle< T >

Relinkable handle to an observable.

An instance of this class can be relinked so that it points to another observable. The change will be propagated to all handles that were created as copies of such instance.

Precondition
  Class T must inherit from Observable

Warning:
  see the Handle documentation for issues relatives to `registerAsObserver`.

Examples:
  Bonds.cpp, FittedBondCurve.cpp, FRA.cpp, Repo.cpp, and swapvaluation.cpp.