Orocos Real-Time Toolkit  2.9.0
Public Types | Public Member Functions | List of all members
RTT::internal::UnboundDataSource< BoundType > Class Template Reference

A special DataSource only to be used for if you understand the copy()/clone() semantics very well. More...

#include <rtt/internal/DataSources.hpp>

Inheritance diagram for RTT::internal::UnboundDataSource< BoundType >:

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

Detailed Description

template<typename BoundType>
class RTT::internal::UnboundDataSource< BoundType >

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.

BoundTypeThe type to inherit from and to return in clone(). Typically a ValueDataSource or IndexedValueDataSource type.

Definition at line 637 of file DataSources.hpp.

Member Typedef Documentation

template<typename BoundType>
typedef boost::intrusive_ptr< UnboundDataSource<BoundType> > RTT::internal::UnboundDataSource< BoundType >::shared_ptr

Definition at line 642 of file DataSources.hpp.

template<typename BoundType>
typedef BoundType::result_t RTT::internal::UnboundDataSource< BoundType >::T

Definition at line 641 of file DataSources.hpp.

Constructor & Destructor Documentation

template<typename BoundType>
RTT::internal::UnboundDataSource< BoundType >::UnboundDataSource ( T  data)
template<typename BoundT >
RTT::internal::UnboundDataSource< BoundT >::UnboundDataSource ( )

Definition at line 188 of file DataSources.inl.

Referenced by RTT::internal::ArrayDataSource< T >::copy().

template<typename BoundType>
RTT::internal::UnboundDataSource< BoundType >::~UnboundDataSource ( )

Definition at line 648 of file DataSources.hpp.

Member Function Documentation

template<typename BoundType>
virtual BoundType* RTT::internal::UnboundDataSource< BoundType >::clone ( ) const

Definition at line 651 of file DataSources.hpp.

References RTT::internal::ValueDataSource< T >::copy().

template<typename BoundT >
UnboundDataSource< BoundT > * RTT::internal::UnboundDataSource< BoundT >::copy ( std::map< const base::DataSourceBase *, base::DataSourceBase * > &  replace) const

Definition at line 193 of file DataSources.inl.

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