40 #ifndef ORO_ASSIGNCOMMAND_HPP 41 #define ORO_ASSIGNCOMMAND_HPP 43 #include "../base/ActionInterface.hpp" 59 template<
typename T,
typename S = T>
75 : lhs( l ), rhs( r ), news(false)
80 news = rhs->evaluate();
86 lhs->set( rhs->rvalue() );
99 return new AssignCommand( lhs->copy( alreadyCloned ), rhs->copy( alreadyCloned ) );
DataSource is a base class representing a generic way to read data of type T.
DataSource< S >::const_ptr RHSSource
AssignableDataSource< T >::shared_ptr LHSSource
AssignCommand(LHSSource l, RHSSource r)
Assign r (rvalue) to l (lvalue);.
virtual base::ActionInterface * clone() const
The Clone Software Pattern.
Based on the software pattern 'command', this interface allows execution of action objects...
boost::intrusive_ptr< AssignableDataSource< T > > shared_ptr
Use this type to store a pointer to an AssignableDataSource.
bool execute()
Execute the functionality of this action.
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.
This is a command that will assign the value of an expression to another at runtime.
virtual base::ActionInterface * 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...
void readArguments()
This is invoked some time before execute() at a time when the action may read its function arguments...