30 #ifdef ORO_PRAGMA_INTERFACE 31 #pragma implementation 41 #include <boost/bind.hpp> 47 using namespace detail;
53 : ds_bool( 0 ), context( c ), commonparser(cp), expressionparser( c, caller, cp )
55 BOOST_SPIRIT_DEBUG_RULE( condition );
62 expressionparser.
parser() [
63 bind( &ConditionParser::seenexpression,
this ) ];
76 void ConditionParser::seenexpression()
95 "Attempt to use a non-boolean value as a condition." );
112 return std::make_pair( ec, ecr );
std::pair< base::ActionInterface *, ConditionInterface * > getParseResultAsCommand()
Retrieve the result as a command, condition pair.
virtual result_t get() const =0
Return the data as type T.
ConditionInterface * getParseResult()
Call this to get the parsed condition.
ConditionParser(TaskContext *context, ExecutionEngine *caller, CommonParser &cp)
This interface represents the concept of a condition which can be evaluated and return true or false...
Evaluates a internal::DataSource<bool> in a command.
parse_exception class that is used for various semantic errors for which it was not worth defining a ...
This class contains some very common parser definitions.
An execution engine serialises (executes one after the other) the execution of all commands...
The result of a command which evaluates a boolean DataSource.
base::DataSourceBase::shared_ptr getResult()
A Condition which holds a boolean DataSource.
internal::AssignableDataSource< bool >::shared_ptr cache()
The TaskContext is the C++ representation of an Orocos component.
boost::intrusive_ptr< DataSourceBase > shared_ptr
Use this type to store a pointer to a DataSourceBase.
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.