Loading...
Searching...
No Matches
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 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
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
T Tcopy1
T Tcopy2
T * Tcopy
bool copyInit
const T * Treference
T * TreferenceNonConst
boost::function2< T &, T &, Time > Tfunction
bool keepReference
Mutex * providerMutex
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

◆ SignalPtr()

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

◆ ~SignalPtr()

template<class T, class Time>
virtual dynamicgraph::SignalPtr< T, Time >::~SignalPtr ( )
inlinevirtual

References signalPtr.

Member Function Documentation

◆ access()

◆ accessCopy()

◆ addDependency()

template<class T, class Time>
virtual void dynamicgraph::SignalPtr< T, Time >::addDependency ( )
inlineprotectedvirtual

◆ autoref()

template<class T, class Time>
bool dynamicgraph::SignalPtr< T, Time >::autoref ( ) const
inlineprotected

◆ checkCompatibility()

template<class T, class Time>
void dynamicgraph::SignalPtr< T, Time >::checkCompatibility ( )
virtual

◆ clearDependencies()

template<class T, class Time>
virtual void dynamicgraph::SignalPtr< T, Time >::clearDependencies ( )
inlineprotectedvirtual

Reimplemented from dynamicgraph::SignalBase< Time >.

◆ display()

template<class T, class Time>
std::ostream & dynamicgraph::SignalPtr< T, Time >::display ( std::ostream & os) const
virtual

◆ displayDependencies()

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

◆ getAbstractPtr() [1/2]

◆ getAbstractPtr() [2/2]

◆ getPluged()

template<class T, class Time>
virtual SignalBase< Time > * dynamicgraph::SignalPtr< T, Time >::getPluged ( ) const
inlinevirtual

Reimplemented from dynamicgraph::SignalBase< Time >.

References signalPtr.

◆ getPtr() [1/2]

◆ getPtr() [2/2]

◆ getTime()

template<class T, class Time>
const Time & dynamicgraph::SignalPtr< T, Time >::getTime ( ) const
virtual

◆ isAbstractPluged()

template<class T, class Time>
bool dynamicgraph::SignalPtr< T, Time >::isAbstractPluged ( ) const
virtual

◆ isPluged()

template<class T, class Time>
virtual bool dynamicgraph::SignalPtr< T, Time >::isPluged ( ) const
inlinevirtual

References isPlugged().

◆ isPlugged()

template<class T, class Time>
virtual bool dynamicgraph::SignalPtr< T, Time >::isPlugged ( ) const
inlinevirtual

◆ needUpdate()

template<class T, class Time>
bool dynamicgraph::SignalPtr< T, Time >::needUpdate ( const Time & t) const
virtual

◆ operator bool()

template<class T, class Time>
dynamicgraph::SignalPtr< T, Time >::operator bool ( ) const
inline

References isPlugged().

◆ operator()()

template<class T, class Time>
const T & dynamicgraph::SignalPtr< T, Time >::operator() ( const Time & t)
virtual

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

References access().

◆ operator*() [1/2]

template<class T, class Time>
Signal< T, Time > & dynamicgraph::SignalPtr< T, Time >::operator* ( )
inline

◆ operator*() [2/2]

template<class T, class Time>
const Signal< T, Time > & dynamicgraph::SignalPtr< T, Time >::operator* ( ) const
inline

◆ operator->() [1/2]

template<class T, class Time>
Signal< T, Time > * dynamicgraph::SignalPtr< T, Time >::operator-> ( )
inline

◆ operator->() [2/2]

template<class T, class Time>
const Signal< T, Time > * dynamicgraph::SignalPtr< T, Time >::operator-> ( ) const
inline

◆ operator=()

template<class T, class Time>
virtual Signal< T, Time > & dynamicgraph::SignalPtr< T, Time >::operator= ( const T & t)
inlinevirtual

◆ plug()

◆ removeDependency()

template<class T, class Time>
virtual void dynamicgraph::SignalPtr< T, Time >::removeDependency ( )
inlineprotectedvirtual

◆ setConstant()

template<class T, class Time>
virtual void dynamicgraph::SignalPtr< T, Time >::setConstant ( const T & t)
inlinevirtual

◆ setConstantDefault() [1/2]

template<class T, class Time>
virtual void dynamicgraph::SignalPtr< T, Time >::setConstantDefault ( )
inlinevirtual

Reimplemented from dynamicgraph::SignalBase< Time >.

References accessCopy(), and setConstantDefault().

Referenced by setConstantDefault().

◆ setConstantDefault() [2/2]

template<class T, class Time>
void dynamicgraph::SignalPtr< T, Time >::setConstantDefault ( const T & t)
inline

◆ setFunction()

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

◆ setReference()

template<class T, class Time>
virtual void dynamicgraph::SignalPtr< T, Time >::setReference ( const T * t,
typename Signal< T, Time >::Mutex * m = NULL )
inlinevirtual

◆ unplug()

template<class T, class Time>
virtual void dynamicgraph::SignalPtr< T, Time >::unplug ( )
inlinevirtual

Reimplemented from dynamicgraph::SignalBase< Time >.

References plug().

◆ unsetConstantDefault()

template<class T, class Time>
void dynamicgraph::SignalPtr< T, Time >::unsetConstantDefault ( )
inline

References modeNoThrow.

◆ writeGraph()

template<class T, class Time>
std::ostream & dynamicgraph::SignalPtr< T, Time >::writeGraph ( std::ostream & os) const
virtual

Member Data Documentation

◆ abstractTransmitter

template<class T, class Time>
SignalBase<Time>* dynamicgraph::SignalPtr< T, Time >::abstractTransmitter
protected

◆ modeNoThrow

template<class T, class Time>
bool dynamicgraph::SignalPtr< T, Time >::modeNoThrow
protected

◆ signalPtr

template<class T, class Time>
Signal<T,Time>* dynamicgraph::SignalPtr< T, Time >::signalPtr
protected

◆ transmitAbstract

template<class T, class Time>
bool dynamicgraph::SignalPtr< T, Time >::transmitAbstract
protected

Referenced by access(), accessCopy(), plug(), and SignalPtr().

◆ transmitAbstractData

template<class T, class Time>
T* dynamicgraph::SignalPtr< T, Time >::transmitAbstractData
protected

Referenced by access(), accessCopy(), and plug().