Public Types | Public Member Functions | Private Attributes | List of all members
RTT::internal::AssignCommand< T, S > Class Template Reference

#include <AssignCommand.hpp>

Inheritance diagram for RTT::internal::AssignCommand< T, S >:
Inheritance graph
[legend]

Public Types

typedef AssignableDataSource< T >::shared_ptr LHSSource
 
typedef DataSource< S >::shared_ptr RHSSource
 
- Public Types inherited from RTT::base::ActionInterface
typedef boost::shared_ptr< ActionInterfaceshared_ptr
 

Public Member Functions

 AssignCommand (LHSSource l, RHSSource r)
 
virtual base::ActionInterfaceclone () const
 
virtual base::ActionInterfacecopy (std::map< const base::DataSourceBase *, base::DataSourceBase * > &alreadyCloned) const
 
bool execute ()
 
void readArguments ()
 
void reset ()
 
- Public Member Functions inherited from RTT::base::ActionInterface
virtual ActionInterfacecopy (std::map< const DataSourceBase *, DataSourceBase * > &alreadyCloned) const
 
virtual bool valid () const
 
virtual ~ActionInterface ()
 

Private Attributes

LHSSource lhs
 
RHSSource rhs
 

Detailed Description

template<typename T, typename S = T>
class RTT::internal::AssignCommand< T, S >

This is a command that will assign the value of an expression to another at runtime. You pass it the AssignableDataSource that you want to assign to, and the DataSource that you want to assign on construction, and it will take care of the assignment. Note that both DataSource's need to be of a convertible type, and this class needs that type as its template parameter..

Parameters
TTarget type
SSource type

Definition at line 60 of file AssignCommand.hpp.

Member Typedef Documentation

template<typename T , typename S = T>
typedef AssignableDataSource<T>::shared_ptr RTT::internal::AssignCommand< T, S >::LHSSource

Definition at line 64 of file AssignCommand.hpp.

template<typename T , typename S = T>
typedef DataSource<S>::shared_ptr RTT::internal::AssignCommand< T, S >::RHSSource

Definition at line 65 of file AssignCommand.hpp.

Constructor & Destructor Documentation

template<typename T , typename S = T>
RTT::internal::AssignCommand< T, S >::AssignCommand ( LHSSource  l,
RHSSource  r 
)
inline

Assign r (rvalue) to l (lvalue);

Definition at line 73 of file AssignCommand.hpp.

Member Function Documentation

template<typename T , typename S = T>
virtual base::ActionInterface* RTT::internal::AssignCommand< T, S >::clone ( ) const
inlinevirtual

The Clone Software Pattern.

Implements RTT::base::ActionInterface.

Definition at line 94 of file AssignCommand.hpp.

template<typename T , typename S = T>
virtual base::ActionInterface* RTT::internal::AssignCommand< T, S >::copy ( std::map< const base::DataSourceBase *, base::DataSourceBase * > &  alreadyCloned) const
inlinevirtual

Definition at line 99 of file AssignCommand.hpp.

template<typename T , typename S = T>
bool RTT::internal::AssignCommand< T, S >::execute ( )
inlinevirtual

Execute the functionality of this action.

Returns
true if the action was accepted, false otherwise

Implements RTT::base::ActionInterface.

Definition at line 81 of file AssignCommand.hpp.

template<typename T , typename S = T>
void RTT::internal::AssignCommand< T, S >::readArguments ( )
inlinevirtual

This is invoked some time before execute() at a time when the action may read its function arguments.

Implements RTT::base::ActionInterface.

Definition at line 78 of file AssignCommand.hpp.

template<typename T , typename S = T>
void RTT::internal::AssignCommand< T, S >::reset ( )
inlinevirtual

Reset this action. Must be used after execute() failed.

Reimplemented from RTT::base::ActionInterface.

Definition at line 90 of file AssignCommand.hpp.

Member Data Documentation

template<typename T , typename S = T>
LHSSource RTT::internal::AssignCommand< T, S >::lhs
private

Definition at line 67 of file AssignCommand.hpp.

template<typename T , typename S = T>
RHSSource RTT::internal::AssignCommand< T, S >::rhs
private

Definition at line 68 of file AssignCommand.hpp.


The documentation for this class was generated from the following file:


rtt
Author(s): RTT Developers
autogenerated on Fri Oct 25 2019 03:59:46