39 #ifndef ORO_CORELIB_OPERATOP_TYPES_HPP 40 #define ORO_CORELIB_OPERATOP_TYPES_HPP 43 #include "../internal/DataSources.hpp" 44 #include <boost/shared_ptr.hpp> 54 template<
typename function>
69 if ( op != mop )
return 0;
73 if ( ! arg )
return 0;
83 template<
typename function>
110 if ( !arg1 || ! arg2 )
return 0;
126 template<
typename function>
136 template<
typename function>
internal::remove_cr< typename function::second_argument_type >::type arg2_t
base::DataSourceBase::shared_ptr convert(base::DataSourceBase::shared_ptr arg) const
internal::DataSource< result_t > * build(const std::string &op, base::DataSourceBase *a, base::DataSourceBase *b)
UnaryOperator(const char *op, function f)
The base class for all internal data representations.
virtual const types::TypeInfo * getTypeInfo() const =0
BinaryOperator(const char *op, function f)
internal::remove_cr< typename function::first_argument_type >::type arg1_t
bool isExactMatch(const std::string &op, base::DataSourceBase *a, base::DataSourceBase *b)
BinaryOperator< function > * newBinaryOperator(const char *op, function f)
internal::remove_cr< typename function::result_type >::type result_t
UnaryOperator< function > * newUnaryOperator(const char *op, function f)
boost::intrusive_ptr< DataSource< T > > shared_ptr
internal::DataSource< result_t > * build(const std::string &op, base::DataSourceBase *a)
internal::remove_cr< typename function::argument_type >::type arg_t
static const types::TypeInfo * getTypeInfo()
boost::remove_const< typename boost::remove_reference< T >::type >::type type
boost::intrusive_ptr< DataSourceBase > shared_ptr
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.
internal::remove_cr< typename function::result_type >::type result_t