dynamic-graph  4.4.3
Dynamic graph library
Signal< T, Time > Class Template Reference

Signals link I/O ports of entities. They can be constant-valued signals, or copy the value of a heap variable, or evaluated as a function. See SignalPtr and SignalTimeDependent for other types of signals, and SignalArray for a way of grouping them. More...

#include <dynamic-graph/signal.h>

Public Types

typedef int * Mutex
 
typedef int * MutexError
 

Public Member Functions

 Signal (std::string name)
 
virtual const T & access (const Time &t)
 
virtual const T & accessCopy () const
 
virtual void checkCompatibility ()
 
virtual std::ostream & display (std::ostream &os) const
 
virtual void get (std::ostream &value) const
 
virtual void getClassName (std::string &aClassName) const
 
bool getKeepReference ()
 
 operator const T & () const
 
virtual const T & operator() (const Time &t)
 
virtual Signal< T, Time > & operator= (const T &t)
 
virtual void recompute (const Time &t)
 
virtual void set (std::istringstream &value)
 
virtual void setConstant (const T &t)
 
virtual void setFunction (boost::function2< T &, T &, Time > t, Mutex *mutexref=NULL)
 
void setKeepReference (const bool &b)
 
virtual void setReference (const T *t, Mutex *mutexref=NULL)
 
virtual void setReferenceNonConstant (T *t, Mutex *mutexref=NULL)
 
virtual void trace (std::ostream &os) const
 

Protected Types

enum  SignalType { CONSTANT, REFERENCE, REFERENCE_NON_CONST, FUNCTION }
 

Protected Attributes

bool copyInit
 
bool keepReference
 
Mutex * providerMutex
 
SignalType signalType
 
T * Tcopy
 
Tcopy1
 
Tcopy2
 
boost::function2< T &, T &, Time > Tfunction
 
const T * Treference
 
T * TreferenceNonConst
 

Static Protected Attributes

const static bool KEEP_REFERENCE_DEFAULT = false
 
static const SignalType SIGNAL_TYPE_DEFAULT = CONSTANT
 

Detailed Description

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

Signals link I/O ports of entities. They can be constant-valued signals, or copy the value of a heap variable, or evaluated as a function. See SignalPtr and SignalTimeDependent for other types of signals, and SignalArray for a way of grouping them.

There are several ways to specify the value output by a signal:

  • using the function setConstant(T) to set the value of the signal to T;
  • using the function setReference(mutex, T*) to set the value from a pointer, whose access is restricted by a mutex;
  • using the function setFunction(boost::function2) that will be called when the signal's value is accessed.

Definition at line 42 of file fwd.hh.

Member Function Documentation

◆ checkCompatibility()

virtual void checkCompatibility ( )
inlinevirtual

checkCompatibility is used to get the object contained in the signal. This used to verify if a dynamic cast is possible or not.

Definition at line 112 of file signal.h.


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