dynamicgraph::SignalPtr< T, Time > Class Template Reference

This is the only type of signal that can be plugged to, using the plug () command. More...

#include <dynamic-graph/signal-ptr.h>

Inheritance diagram for dynamicgraph::SignalPtr< T, Time >:
[legend]
Collaboration diagram for dynamicgraph::SignalPtr< T, Time >:
[legend]

List of all members.

Public Member Functions

 SignalPtr (Signal< T, Time > *ptr, std::string name="")
virtual ~SignalPtr ()
Signal< T, Time > * getPtr ()
const Signal< T, Time > * getPtr () const
SignalBase< Time > * getAbstractPtr ()
const SignalBase< Time > * getAbstractPtr () const
virtual void plug (SignalBase< Time > *ref)
virtual void unplug ()
virtual bool isPluged () const
virtual bool isPlugged () const
virtual SignalBase< Time > * getPluged () const
virtual bool isAbstractPluged () const
virtual const Time & getTime () const
Signal< T, Time > * operator-> ()
const Signal< T, Time > * operator-> () const
Signal< T, Time > & operator* ()
const Signal< T, Time > & operator* () const
 operator bool () const
virtual bool needUpdate (const Time &t) const
virtual std::ostream & writeGraph (std::ostream &os) const
virtual std::ostream & display (std::ostream &os) const
virtual const T & operator() (const Time &t)
virtual const T & access (const Time &t)
virtual const T & accessCopy () const
void setConstantDefault (const T &t)
virtual void setConstantDefault ()
void unsetConstantDefault ()
virtual void checkCompatibility ()
virtual void setConstant (const T &t)
virtual void setReference (const T *t, typename Signal< T, Time >::Mutex *m=NULL)
virtual void setFunction (boost::function2< T &, T &, Time > t, typename Signal< T, Time >::Mutex *m=NULL)
virtual Signal< T, Time > & operator= (const T &t)
virtual std::ostream & displayDependencies (std::ostream &os, const int depth=-1, std::string space="", std::string next1="", std::string next2="") const

Protected Member Functions

bool autoref () const
virtual void addDependency ()
virtual void removeDependency ()
virtual void clearDependencies ()

Protected Attributes

Signal< T, Time > * signalPtr
bool modeNoThrow
bool transmitAbstract
SignalBase< Time > * abstractTransmitter
T * transmitAbstractData

Detailed Description

template<class T, class Time>
class dynamicgraph::SignalPtr< T, Time >

This is the only type of signal that can be plugged to, using the plug () command.

In that sense, when plugged into, it acts as a "pointer" to the input signal, hence the name. Operator -> is also overloaded and can be used to access the pointed signal.


Constructor & Destructor Documentation

template<class T , class Time >
dynamicgraph::SignalPtr< T, Time >::SignalPtr ( Signal< T, Time > *  ptr,
std::string  name = "" 
) [inline]
template<class T , class Time >
virtual dynamicgraph::SignalPtr< T, Time >::~SignalPtr ( ) [inline, virtual]

Member Function Documentation

template<class T , class Time >
const T & dynamicgraph::SignalPtr< T, Time >::access ( const Time &  t) [virtual]
template<class T , class Time >
const T & dynamicgraph::SignalPtr< T, Time >::accessCopy ( ) const [virtual]
template<class T , class Time >
virtual void dynamicgraph::SignalPtr< T, Time >::addDependency ( ) [inline, protected, virtual]
template<class T , class Time >
bool dynamicgraph::SignalPtr< T, Time >::autoref ( ) const [inline, protected]
template<class T , class Time >
void dynamicgraph::SignalPtr< T, Time >::checkCompatibility ( ) [virtual]
template<class T , class Time >
virtual void dynamicgraph::SignalPtr< T, Time >::clearDependencies ( ) [inline, protected, virtual]

Reimplemented from dynamicgraph::SignalBase< Time >.

template<class T , class Time >
std::ostream & dynamicgraph::SignalPtr< T, Time >::display ( std::ostream &  os) const [virtual]
template<class T , class Time >
std::ostream & dynamicgraph::SignalPtr< T, Time >::displayDependencies ( std::ostream &  os,
const int  depth = -1,
std::string  space = "",
std::string  next1 = "",
std::string  next2 = "" 
) const [virtual]
template<class T , class Time >
SignalBase< Time > * dynamicgraph::SignalPtr< T, Time >::getAbstractPtr ( )
template<class T , class Time >
const SignalBase< Time > * dynamicgraph::SignalPtr< T, Time >::getAbstractPtr ( ) const
template<class T , class Time >
virtual SignalBase<Time>* dynamicgraph::SignalPtr< T, Time >::getPluged ( ) const [inline, virtual]
template<class T , class Time >
const Signal< T, Time > * dynamicgraph::SignalPtr< T, Time >::getPtr ( ) const
template<class T , class Time >
const Time & dynamicgraph::SignalPtr< T, Time >::getTime ( ) const [virtual]
template<class T , class Time >
bool dynamicgraph::SignalPtr< T, Time >::isAbstractPluged ( ) const [virtual]
template<class T , class Time >
virtual bool dynamicgraph::SignalPtr< T, Time >::isPluged ( ) const [inline, virtual]
template<class T , class Time >
virtual bool dynamicgraph::SignalPtr< T, Time >::isPlugged ( ) const [inline, virtual]
template<class T , class Time >
bool dynamicgraph::SignalPtr< T, Time >::needUpdate ( const Time &  t) const [virtual]
template<class T , class Time >
dynamicgraph::SignalPtr< T, Time >::operator bool ( ) const [inline]
template<class T , class Time >
const T & dynamicgraph::SignalPtr< T, Time >::operator() ( const Time &  t) [virtual]

Reimplemented from dynamicgraph::Signal< T, Time >.

template<class T , class Time >
Signal<T,Time>& dynamicgraph::SignalPtr< T, Time >::operator* ( ) [inline]
template<class T , class Time >
const Signal<T,Time>& dynamicgraph::SignalPtr< T, Time >::operator* ( ) const [inline]
template<class T , class Time >
Signal<T,Time>* dynamicgraph::SignalPtr< T, Time >::operator-> ( ) [inline]
template<class T , class Time >
const Signal<T,Time>* dynamicgraph::SignalPtr< T, Time >::operator-> ( ) const [inline]
template<class T , class Time >
virtual Signal<T,Time>& dynamicgraph::SignalPtr< T, Time >::operator= ( const T &  t) [inline, virtual]
template<class T , class Time >
virtual void dynamicgraph::SignalPtr< T, Time >::removeDependency ( ) [inline, protected, virtual]
template<class T , class Time >
virtual void dynamicgraph::SignalPtr< T, Time >::setConstant ( const T &  t) [inline, virtual]
template<class T , class Time >
void dynamicgraph::SignalPtr< T, Time >::setConstantDefault ( const T &  t) [inline]
template<class T , class Time >
virtual void dynamicgraph::SignalPtr< T, Time >::setConstantDefault ( ) [inline, virtual]
template<class T , class Time >
virtual void dynamicgraph::SignalPtr< T, Time >::setFunction ( boost::function2< T &, T &, Time >  t,
typename Signal< T, Time >::Mutex m = NULL 
) [inline, virtual]
template<class T , class Time >
virtual void dynamicgraph::SignalPtr< T, Time >::setReference ( const T *  t,
typename Signal< T, Time >::Mutex m = NULL 
) [inline, virtual]
template<class T , class Time >
virtual void dynamicgraph::SignalPtr< T, Time >::unplug ( ) [inline, virtual]
template<class T , class Time >
void dynamicgraph::SignalPtr< T, Time >::unsetConstantDefault ( ) [inline]
template<class T , class Time >
std::ostream & dynamicgraph::SignalPtr< T, Time >::writeGraph ( std::ostream &  os) const [virtual]

Member Data Documentation

template<class T , class Time >
SignalBase<Time>* dynamicgraph::SignalPtr< T, Time >::abstractTransmitter [protected]
template<class T , class Time >
bool dynamicgraph::SignalPtr< T, Time >::transmitAbstract [protected]
template<class T , class Time >
T* dynamicgraph::SignalPtr< T, Time >::transmitAbstractData [protected]