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]

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 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
 
- Public Member Functions inherited from dynamicgraph::Signal< T, Time >
 Signal (std::string name)
 
virtual ~Signal ()
 
virtual void get (std::ostream &value) const
 
virtual void set (std::istringstream &value)
 
virtual void trace (std::ostream &os) const
 
virtual void setReference (const T *t, Mutex *mutexref=NULL)
 
virtual void setReferenceNonConstant (T *t, Mutex *mutexref=NULL)
 
virtual void setFunction (boost::function2< T &, T &, Time > t, Mutex *mutexref=NULL)
 
bool getKeepReference ()
 
void setKeepReference (const bool &b)
 
virtual void recompute (const Time &t)
 
 operator const T & () const
 
virtual void getClassName (std::string &aClassName) const
 
- Public Member Functions inherited from dynamicgraph::SignalBase< Time >
 SignalBase (std::string name="")
 
virtual ~SignalBase ()
 
virtual void setTime (const Time &t)
 
const bool & getReady () const
 
const std::string & getName () const
 
void getClassName (std::string &aClassName) const
 
virtual void setPeriodTime (const Time &)
 
virtual Time getPeriodTime () const
 
virtual void addDependency (const SignalBase< Time > &)
 
virtual void removeDependency (const SignalBase< Time > &)
 
void setReady (const bool sready=true)
 
std::string shortName () const
 
virtual void ExtractNodeAndLocalNames (std::string &LocalName, std::string &NodeName) 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
 
- Protected Attributes inherited from dynamicgraph::Signal< T, Time >
SignalType signalType
 
Tcopy1
 
Tcopy2
 
T * Tcopy
 
bool copyInit
 
const T * Treference
 
T * TreferenceNonConst
 
boost::function2< T &, T &, Time > Tfunction
 
bool keepReference
 
MutexproviderMutex
 
- Protected Attributes inherited from dynamicgraph::SignalBase< Time >
std::string name
 
Time signalTime
 
bool ready
 

Additional Inherited Members

- Public Types inherited from dynamicgraph::Signal< T, Time >
typedef int * Mutex
 
typedef int * MutexError
 
- Protected Types inherited from dynamicgraph::Signal< T, Time >
enum  SignalType {
  CONSTANT,
  REFERENCE,
  REFERENCE_NON_CONST,
  FUNCTION
}
 
- Static Protected Attributes inherited from dynamicgraph::Signal< T, Time >
static const SignalType SIGNAL_TYPE_DEFAULT = CONSTANT
 
static const bool KEEP_REFERENCE_DEFAULT = false
 

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

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 ( )
inlineprotectedvirtual
template<class T , class Time >
bool dynamicgraph::SignalPtr< T, Time >::autoref ( ) const
inlineprotected
template<class T , class Time >
void dynamicgraph::SignalPtr< T, Time >::checkCompatibility ( )
virtual
template<class T , class Time >
virtual void dynamicgraph::SignalPtr< T, Time >::clearDependencies ( )
inlineprotectedvirtual

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 >
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 >::isPlugged ( ) const
inlinevirtual
template<class T , class Time >
bool dynamicgraph::SignalPtr< T, Time >::needUpdate ( const Time &  t) const
virtual
template<class T , class Time >
const T & dynamicgraph::SignalPtr< T, Time >::operator() ( const Time &  t)
virtual
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)
inlinevirtual
template<class T , class Time >
virtual void dynamicgraph::SignalPtr< T, Time >::removeDependency ( )
inlineprotectedvirtual
template<class T , class Time >
virtual void dynamicgraph::SignalPtr< T, Time >::setConstant ( const T &  t)
inlinevirtual
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 ( )
inlinevirtual
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 
)
inlinevirtual
template<class T , class Time >
virtual void dynamicgraph::SignalPtr< T, Time >::setReference ( const T *  t,
typename Signal< T, Time >::Mutex m = NULL 
)
inlinevirtual
template<class T , class Time >
virtual void dynamicgraph::SignalPtr< T, Time >::unplug ( )
inlinevirtual
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 >::modeNoThrow
protected
template<class T , class Time >
Signal<T, Time>* dynamicgraph::SignalPtr< T, Time >::signalPtr
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