#include <DataSources.hpp>
Public Types | |
typedef boost::intrusive_ptr< UnboundDataSource< BoundType > > | shared_ptr |
typedef BoundType::result_t | T |
Public Member Functions | |
virtual BoundType * | clone () const |
virtual UnboundDataSource< BoundType > * | copy (std::map< const base::DataSourceBase *, base::DataSourceBase * > &replace) const |
UnboundDataSource (T data) | |
UnboundDataSource () | |
~UnboundDataSource () | |
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 637 of file DataSources.hpp.
typedef boost::intrusive_ptr< UnboundDataSource<BoundType> > RTT::internal::UnboundDataSource< BoundType >::shared_ptr |
Definition at line 642 of file DataSources.hpp.
typedef BoundType::result_t RTT::internal::UnboundDataSource< BoundType >::T |
Definition at line 641 of file DataSources.hpp.
RTT::internal::UnboundDataSource< BoundType >::UnboundDataSource | ( | T | data | ) |
RTT::internal::UnboundDataSource< BoundType >::UnboundDataSource | ( | ) |
|
inline |
Definition at line 648 of file DataSources.hpp.
|
inlinevirtual |
Definition at line 651 of file DataSources.hpp.
|
virtual |