Public Types | Public Member Functions | Protected Types | Protected Attributes | Static Protected Attributes | Private Member Functions

dynamicgraph::Signal< T, Time > Class Template Reference
[Core classes and objects]

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...

Collaboration diagram for dynamicgraph::Signal< T, Time >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef int * Mutex
typedef int * MutexError

Public Member Functions

 Signal (std::string name)
virtual ~Signal (void)
virtual void get (std::ostream &value) const
virtual void set (std::istringstream &value)
virtual void trace (std::ostream &os) const
virtual void setConstant (const T &t)
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)
void setKeepReference (const bool &b)
virtual const T & access (const Time &t)
virtual void recompute (const Time &t)
virtual const T & accessCopy (void) const
virtual std::ostream & display (std::ostream &os) const
virtual const T & operator() (const Time &t)
virtual Signal< T, Time > & operator= (const T &t)
 operator const T & (void) const
virtual void checkCompatibility (void)

Protected Types

enum  SignalType {
  CONSTANT,
  REFERENCE,
  REFERENCE_NON_CONST,
  FUNCTION
}

Protected Attributes

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

Static Protected Attributes

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

Private Member Functions

const T & setTcopy (const T &t)
T & getTwork (void)
const T & getTwork (void) const
const T & switchTcopy (void)

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.


Member Typedef Documentation

template<class T, class Time>
typedef int* dynamicgraph::Signal< T, Time >::Mutex
template<class T, class Time>
typedef int* dynamicgraph::Signal< T, Time >::MutexError

Member Enumeration Documentation

template<class T, class Time>
enum dynamicgraph::Signal::SignalType [protected]
Enumerator:
CONSTANT 
REFERENCE 
REFERENCE_NON_CONST 
FUNCTION 

Constructor & Destructor Documentation

template<class T, class Time>
dynamicgraph::Signal< T, Time >::Signal ( std::string  name  ) 
template<class T, class Time>
virtual dynamicgraph::Signal< T, Time >::~Signal ( void   )  [inline, virtual]

Member Function Documentation

template<class T, class Time>
virtual const T& dynamicgraph::Signal< T, Time >::access ( const Time &  t  )  [virtual]
template<class T, class Time>
virtual const T& dynamicgraph::Signal< T, Time >::accessCopy ( void   )  const [virtual]
template<class T, class Time>
virtual void dynamicgraph::Signal< T, Time >::checkCompatibility ( void   )  [inline, virtual]

Reimplemented from dynamicgraph::SignalBase< Time >.

template<class T, class Time>
virtual std::ostream& dynamicgraph::Signal< T, Time >::display ( std::ostream &  os  )  const [virtual]
template<class T, class Time>
virtual void dynamicgraph::Signal< T, Time >::get ( std::ostream &  value  )  const [virtual]

Reimplemented from dynamicgraph::SignalBase< Time >.

template<class T, class Time>
bool dynamicgraph::Signal< T, Time >::getKeepReference ( void   )  [inline]
template<class T, class Time>
T& dynamicgraph::Signal< T, Time >::getTwork ( void   )  [private]
template<class T, class Time>
const T& dynamicgraph::Signal< T, Time >::getTwork ( void   )  const [private]
template<class T, class Time>
dynamicgraph::Signal< T, Time >::operator const T & ( void   )  const [inline]
template<class T, class Time>
virtual const T& dynamicgraph::Signal< T, Time >::operator() ( const Time &  t  )  [inline, virtual]
template<class T, class Time>
virtual Signal<T,Time>& dynamicgraph::Signal< T, Time >::operator= ( const T &  t  )  [virtual]
template<class T, class Time>
virtual void dynamicgraph::Signal< T, Time >::recompute ( const Time &  t  )  [inline, virtual]

Reimplemented from dynamicgraph::SignalBase< Time >.

template<class T, class Time>
virtual void dynamicgraph::Signal< T, Time >::set ( std::istringstream &  value  )  [virtual]

Reimplemented from dynamicgraph::SignalBase< Time >.

template<class T, class Time>
virtual void dynamicgraph::Signal< T, Time >::setConstant ( const T &  t  )  [virtual]
template<class T, class Time>
virtual void dynamicgraph::Signal< T, Time >::setFunction ( boost::function2< T &, T &, Time >  t,
Mutex mutexref = NULL 
) [virtual]
template<class T, class Time>
void dynamicgraph::Signal< T, Time >::setKeepReference ( const bool &  b  )  [inline]
template<class T, class Time>
virtual void dynamicgraph::Signal< T, Time >::setReference ( const T *  t,
Mutex mutexref = NULL 
) [virtual]
template<class T, class Time>
virtual void dynamicgraph::Signal< T, Time >::setReferenceNonConstant ( T *  t,
Mutex mutexref = NULL 
) [virtual]
template<class T, class Time>
const T& dynamicgraph::Signal< T, Time >::setTcopy ( const T &  t  )  [private]
template<class T, class Time>
const T& dynamicgraph::Signal< T, Time >::switchTcopy ( void   )  [private]
template<class T, class Time>
virtual void dynamicgraph::Signal< T, Time >::trace ( std::ostream &  os  )  const [virtual]

Reimplemented from dynamicgraph::SignalBase< Time >.


Member Data Documentation

template<class T, class Time>
bool dynamicgraph::Signal< T, Time >::copyInit [protected]
template<class T, class Time>
const bool dynamicgraph::Signal< T, Time >::KEEP_REFERENCE_DEFAULT = false [static, protected]
template<class T, class Time>
bool dynamicgraph::Signal< T, Time >::keepReference [protected]
template<class T, class Time>
Mutex* dynamicgraph::Signal< T, Time >::providerMutex [protected]
template<class T, class Time>
const SignalType dynamicgraph::Signal< T, Time >::SIGNAL_TYPE_DEFAULT = CONSTANT [static, protected]
template<class T, class Time>
SignalType dynamicgraph::Signal< T, Time >::signalType [protected]
template<class T, class Time>
T* dynamicgraph::Signal< T, Time >::Tcopy [protected]
template<class T, class Time>
T dynamicgraph::Signal< T, Time >::Tcopy1 [protected]
template<class T, class Time>
T dynamicgraph::Signal< T, Time >::Tcopy2 [protected]
template<class T, class Time>
boost::function2<T&,T&,Time> dynamicgraph::Signal< T, Time >::Tfunction [protected]
template<class T, class Time>
const T* dynamicgraph::Signal< T, Time >::Treference [protected]
template<class T, class Time>
T* dynamicgraph::Signal< T, Time >::TreferenceNonConst [protected]




dynamicGraph library documentation