Orocos Real-Time Toolkit
2.8.3
|
A special DataSource only to be used for if you understand the copy()/clone() semantics very well. More...
#include <rtt/internal/DataSources.hpp>
Public Types | |
typedef BoundType::result_t | T |
typedef boost::intrusive_ptr< UnboundDataSource< BoundType > > | shared_ptr |
Public Member Functions | |
UnboundDataSource (T data) | |
UnboundDataSource () | |
~UnboundDataSource () | |
virtual BoundType * | clone () const |
virtual UnboundDataSource< BoundType > * | copy (std::map< const base::DataSourceBase *, base::DataSourceBase * > &replace) const |
A special DataSource only to be used for if you understand the copy()/clone() semantics very well.
UnboundDataSource is required to represent variables ('var') in program scripts. Otherwise copy/clone done in ParsedStateMachine will not work as expected.
It has different copy semantics in comparison to 'bound' DataSources (like ValueDataSource), being that, it returns new copies in copy(), and returns a clone() of the contained datasource in clone(). A clone() reduces this 'UnboundDataSource' to a 'BoundType' data source.
BoundType | The type to inherit from and to return in clone(). Typically a ValueDataSource or IndexedValueDataSource type. |
Definition at line 641 of file DataSources.hpp.
typedef boost::intrusive_ptr< UnboundDataSource<BoundType> > RTT::internal::UnboundDataSource< BoundType >::shared_ptr |
Definition at line 646 of file DataSources.hpp.
typedef BoundType::result_t RTT::internal::UnboundDataSource< BoundType >::T |
Definition at line 645 of file DataSources.hpp.
RTT::internal::UnboundDataSource< BoundType >::UnboundDataSource | ( | T | data | ) |
RTT::internal::UnboundDataSource< BoundT >::UnboundDataSource | ( | ) |
Definition at line 188 of file DataSources.inl.
Referenced by RTT::internal::ArrayDataSource< T >::copy().
|
inline |
Definition at line 652 of file DataSources.hpp.
|
inlinevirtual |
Definition at line 655 of file DataSources.hpp.
References RTT::internal::ValueDataSource< T >::copy().
|
virtual |
Definition at line 193 of file DataSources.inl.