40 #include "../internal/DataSource.hpp" 43 using namespace detail;
46 int EdgeCondition::condition_counter = 0;
49 : condition ( new
ConditionTrue ), rank(condition_counter++) {}
52 : condition( cond ), rank(condition_counter++)
This interface represents the concept of a condition which can be evaluated and return true or false...
EdgeCondition()
Create a default EdgeCondition which evaluates always as true.
A conditional that evaluates true.
virtual ConditionInterface * clone() const =0
The Clone Software Pattern.
EdgeCondition copy(std::map< const base::DataSourceBase *, base::DataSourceBase * > &replacementdss) const
bool evaluate()
Evaluates the condition coupled with this termination clause.
void reset()
Reset the condition in this EdgeCondition.
virtual void reset()
Some conditions need to be reset at some points.
void setCondition(ConditionInterface *cond)
virtual bool evaluate()=0
Evaluate the Condition and return the outcome.
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.
ConditionInterface * getCondition() const
Return the condition coupled with this termination clause.
This class represents a conditional branch in a program tree.
EdgeCondition & operator=(const EdgeCondition &orig)