dynamicgraph::TimeDependency< Time > Class Template Reference

A helper class for setting and specifying dependencies between signals. More...

#include <dynamic-graph/time-dependency.h>

Inheritance diagram for dynamicgraph::TimeDependency< Time >:
[legend]
Collaboration diagram for dynamicgraph::TimeDependency< Time >:
[legend]

Public Types

enum  DependencyType {
  TIME_DEPENDENT,
  BOOL_DEPENDENT,
  ALWAYS_READY
}
 
typedef std::list< const SignalBase< Time > * > Dependencies
 

Public Member Functions

 TimeDependency (SignalBase< Time > *sig, const DependencyType dep=DEPENDENCY_TYPE_DEFAULT)
 
 TimeDependency (SignalBase< Time > *sig, const SignalArray_const< Time > &arr, const DependencyType dep=DEPENDENCY_TYPE_DEFAULT)
 
virtual ~TimeDependency ()
 
void addDependencies (const SignalArray_const< Time > &arr)
 
void addDependency (const SignalBase< Time > &sig)
 
void removeDependency (const SignalBase< Time > &sig)
 
void clearDependency ()
 
virtual std::ostream & writeGraph (std::ostream &os) const
 
std::ostream & displayDependencies (std::ostream &os, const int depth=-1, std::string space="", std::string next1="", std::string next2="") const
 
bool needUpdate (const Time &t1) const
 
void setDependencyType (DependencyType dep)
 
void setNeedUpdateFromAllChildren (const bool b=true)
 
bool getNeedUpdateFromAllChildren () const
 
void setPeriodTime (const Time &p)
 
Time getPeriodTime () const
 

Public Attributes

Time lastAskForUpdate
 
SignalBase< Time > & leader
 
Dependencies dependencies
 
bool updateFromAllChildren
 
DependencyType dependencyType
 
Time periodTime
 

Static Public Attributes

static const DependencyType DEPENDENCY_TYPE_DEFAULT = TIME_DEPENDENT
 
static const bool ALL_READY_DEFAULT = false
 
static const Time PERIOD_TIME_DEFAULT = 1
 

Detailed Description

template<class Time>
class dynamicgraph::TimeDependency< Time >

A helper class for setting and specifying dependencies between signals.

Member Typedef Documentation

◆ Dependencies

template<class Time>
typedef std::list<const SignalBase<Time> *> dynamicgraph::TimeDependency< Time >::Dependencies

Member Enumeration Documentation

◆ DependencyType

Enumerator
TIME_DEPENDENT 
BOOL_DEPENDENT 
ALWAYS_READY 

Constructor & Destructor Documentation

◆ TimeDependency() [1/2]

template<class Time>
dynamicgraph::TimeDependency< Time >::TimeDependency ( SignalBase< Time > *  sig,
const DependencyType  dep = DEPENDENCY_TYPE_DEFAULT 
)

◆ TimeDependency() [2/2]

template<class Time>
dynamicgraph::TimeDependency< Time >::TimeDependency ( SignalBase< Time > *  sig,
const SignalArray_const< Time > &  arr,
const DependencyType  dep = DEPENDENCY_TYPE_DEFAULT 
)

◆ ~TimeDependency()

template<class Time>
virtual dynamicgraph::TimeDependency< Time >::~TimeDependency ( )
inlinevirtual

Member Function Documentation

◆ addDependencies()

template<class Time>
void dynamicgraph::TimeDependency< Time >::addDependencies ( const SignalArray_const< Time > &  arr)

◆ addDependency()

template<class Time>
void dynamicgraph::TimeDependency< Time >::addDependency ( const SignalBase< Time > &  sig)

◆ clearDependency()

template<class Time >
void dynamicgraph::TimeDependency< Time >::clearDependency ( )

◆ displayDependencies()

template<class Time >
std::ostream & dynamicgraph::TimeDependency< Time >::displayDependencies ( std::ostream &  os,
const int  depth = -1,
std::string  space = "",
std::string  next1 = "",
std::string  next2 = "" 
) const

◆ getNeedUpdateFromAllChildren()

template<class Time>
bool dynamicgraph::TimeDependency< Time >::getNeedUpdateFromAllChildren ( ) const
inline

◆ getPeriodTime()

template<class Time>
Time dynamicgraph::TimeDependency< Time >::getPeriodTime ( ) const
inline

◆ needUpdate()

template<class Time>
bool dynamicgraph::TimeDependency< Time >::needUpdate ( const Time &  t1) const

◆ removeDependency()

template<class Time>
void dynamicgraph::TimeDependency< Time >::removeDependency ( const SignalBase< Time > &  sig)

◆ setDependencyType()

template<class Time>
void dynamicgraph::TimeDependency< Time >::setDependencyType ( DependencyType  dep)
inline

◆ setNeedUpdateFromAllChildren()

template<class Time>
void dynamicgraph::TimeDependency< Time >::setNeedUpdateFromAllChildren ( const bool  b = true)
inline

◆ setPeriodTime()

template<class Time>
void dynamicgraph::TimeDependency< Time >::setPeriodTime ( const Time &  p)
inline

◆ writeGraph()

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

Member Data Documentation

◆ ALL_READY_DEFAULT

template<class Time>
const bool dynamicgraph::TimeDependency< Time >::ALL_READY_DEFAULT = false
static

◆ dependencies

template<class Time>
Dependencies dynamicgraph::TimeDependency< Time >::dependencies

◆ DEPENDENCY_TYPE_DEFAULT

template<class Time>
const DependencyType dynamicgraph::TimeDependency< Time >::DEPENDENCY_TYPE_DEFAULT = TIME_DEPENDENT
static

◆ dependencyType

template<class Time>
DependencyType dynamicgraph::TimeDependency< Time >::dependencyType

◆ lastAskForUpdate

template<class Time>
Time dynamicgraph::TimeDependency< Time >::lastAskForUpdate
mutable

◆ leader

template<class Time>
SignalBase<Time>& dynamicgraph::TimeDependency< Time >::leader

◆ PERIOD_TIME_DEFAULT

template<class Time>
const Time dynamicgraph::TimeDependency< Time >::PERIOD_TIME_DEFAULT = 1
static

◆ periodTime

template<class Time>
Time dynamicgraph::TimeDependency< Time >::periodTime

◆ updateFromAllChildren

template<class Time>
bool dynamicgraph::TimeDependency< Time >::updateFromAllChildren