#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 653 of file DataSources.hpp.
typedef boost::intrusive_ptr< UnboundDataSource<BoundType> > RTT::internal::UnboundDataSource< BoundType >::shared_ptr |
Definition at line 658 of file DataSources.hpp.
typedef BoundType::result_t RTT::internal::UnboundDataSource< BoundType >::T |
Definition at line 657 of file DataSources.hpp.
RTT::internal::UnboundDataSource< BoundType >::UnboundDataSource | ( | T | data | ) |
RTT::internal::UnboundDataSource< BoundType >::UnboundDataSource | ( | ) |
RTT::internal::UnboundDataSource< BoundType >::~UnboundDataSource | ( | ) | [inline] |
Definition at line 664 of file DataSources.hpp.
virtual BoundType* RTT::internal::UnboundDataSource< BoundType >::clone | ( | ) | const [inline, virtual] |
Definition at line 667 of file DataSources.hpp.
virtual UnboundDataSource<BoundType>* RTT::internal::UnboundDataSource< BoundType >::copy | ( | std::map< const base::DataSourceBase *, base::DataSourceBase * > & | replace | ) | const [virtual] |