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>
DataSource is a base class representing a generic way to read data of type T.
A DataSource which returns the return value of a unary function.
UnaryOperator contains information on some unary operator that operates on one arg of a certain type...
base::DataSourceBase::shared_ptr convert(base::DataSourceBase::shared_ptr arg) const
Automatic conversion: convert a internal::DataSource to this type.
internal::DataSource< result_t > * build(const std::string &op, base::DataSourceBase *a, base::DataSourceBase *b)
If op is the operator you are responsible for, and if the argument internal::DataSource's are of the ...
UnaryOperator(const char *op, function f)
The base class for all internal data representations.
virtual const types::TypeInfo * getTypeInfo() const =0
Return the Orocos type info object.
BinaryOperator(const char *op, function f)
An operator which reads a single internal::DataSource and returns a modified result.
bool isExactMatch(const std::string &op, base::DataSourceBase *a, base::DataSourceBase *b)
Returns true if this binary operator matches op, and a and b are the exact types this operator expect...
A generic binary composite DataSource.
BinaryOperator< function > * newBinaryOperator(const char *op, function f)
helper function to create a new BinaryOperator
static const types::TypeInfo * getTypeInfo()
Return the typeinfo object.
UnaryOperator< function > * newUnaryOperator(const char *op, function f)
helper function to create a new UnaryOperator
boost::intrusive_ptr< DataSource< T > > shared_ptr
internal::DataSource< result_t > * build(const std::string &op, base::DataSourceBase *a)
If op is the operator you are responsible for, and if the argument internal::DataSource is of the cor...
An operator which reads a two DataSources and returns a modified result.
boost::remove_const< typename boost::remove_reference< T >::type >::type type
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.
This file contains operator information objects, These objects contain information on how to apply on...