38 #ifndef CONDITIONCOMPARE_HPP 39 #define CONDITIONCOMPARE_HPP 42 #include "../internal/DataSource.hpp" 45 {
namespace scripting {
56 template<
typename T,
typename compare_op>
64 : mdata1( data1 ), mdata2( data2 )
72 ConditionCompare*
copy( std::map<const base::DataSourceBase*, base::DataSourceBase*>& alreadyCloned )
const {
82 return op( mdata1->
get(), mdata2->
get() );
DataSource is a base class representing a generic way to read data of type T.
virtual result_t get() const =0
Return the data as type T.
This interface represents the concept of a condition which can be evaluated and return true or false...
virtual ~ConditionCompare()
A general compare condition.
bool evaluate()
Evaluate the Condition and return the outcome.
virtual ConditionInterface * clone() const
The Clone Software Pattern.
virtual DataSource< T > * copy(std::map< const base::DataSourceBase *, base::DataSourceBase * > &alreadyCloned) const =0
Create a deep copy of this internal::DataSource, unless it is already cloned.
ConditionCompare(internal::DataSource< T > *data1, internal::DataSource< T > *data2)
boost::intrusive_ptr< DataSource< T > > shared_ptr
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.
ConditionCompare * copy(std::map< const base::DataSourceBase *, base::DataSourceBase * > &alreadyCloned) const
When copying an Orocos program, we want identical internal::DataSource's to be mapped to identical Da...