#include <DataSource.hpp>
Public Types | |
typedef boost::intrusive_ptr < const AssignableDataSource < T > > | const_ptr |
typedef DataSource< T > ::const_reference_t | const_reference_t |
typedef boost::call_traits < value_t >::param_type | param_t |
typedef boost::call_traits < value_t >::reference | reference_t |
typedef boost::intrusive_ptr < AssignableDataSource< T > > | shared_ptr |
typedef DataSource< T >::value_t | value_t |
Public Member Functions | |
virtual AssignableDataSource< T > * | clone () const =0 |
virtual AssignableDataSource< T > * | copy (std::map< const base::DataSourceBase *, base::DataSourceBase * > &alreadyCloned) const =0 |
void * | getRawPointer () |
virtual bool | isAssignable () const |
virtual void | set (param_t t)=0 |
virtual reference_t | set ()=0 |
virtual bool | update (base::DataSourceBase *other) |
virtual base::ActionInterface * | updateAction (base::DataSourceBase *other) |
Static Public Member Functions | |
static AssignableDataSource< T > * | narrow (base::DataSourceBase *db) |
Protected Member Functions | |
~AssignableDataSource () |
A DataSource which has set() methods.
T | See DataSource for the semantics of T. |
Definition at line 184 of file DataSource.hpp.
typedef boost::intrusive_ptr<const AssignableDataSource<T> > RTT::internal::AssignableDataSource< T >::const_ptr |
Use this type to store a const pointer to a DataSourceBase.
Reimplemented from RTT::internal::DataSource< T >.
Definition at line 199 of file DataSource.hpp.
typedef DataSource<T>::const_reference_t RTT::internal::AssignableDataSource< T >::const_reference_t |
Reimplemented from RTT::internal::DataSource< T >.
Definition at line 191 of file DataSource.hpp.
typedef boost::call_traits<value_t>::param_type RTT::internal::AssignableDataSource< T >::param_t |
Definition at line 192 of file DataSource.hpp.
typedef boost::call_traits<value_t>::reference RTT::internal::AssignableDataSource< T >::reference_t |
Definition at line 193 of file DataSource.hpp.
typedef boost::intrusive_ptr<AssignableDataSource<T> > RTT::internal::AssignableDataSource< T >::shared_ptr |
Use this type to store a pointer to an AssignableDataSource.
Reimplemented from RTT::internal::DataSource< T >.
Reimplemented in RTT::internal::ActionAliasAssignableDataSource< T >, RTT::internal::LateReferenceDataSource< T >, RTT::internal::LateReferenceDataSource< ds_type >, RTT::internal::ArrayDataSource< T >, RTT::internal::ReferenceDataSource< T >, RTT::internal::ReferenceDataSource< ds_type >, RTT::internal::FusedFunctorDataSource< Signature, typename boost::enable_if< is_pure_reference< typename boost::function_traits< Signature >::result_type > >::type >, RTT::internal::PartDataSource< types::carray< T > >, RTT::internal::InputPortSource< T >, RTT::internal::ArrayPartDataSource< T >, RTT::internal::ValueDataSource< T >, RTT::internal::ValueDataSource< ProgramInterfacePtr >, RTT::internal::ValueDataSource< ds_type >, RTT::internal::ValueDataSource< StateMachinePtr >, and RTT::internal::PartDataSource< T >.
Definition at line 198 of file DataSource.hpp.
typedef DataSource<T>::value_t RTT::internal::AssignableDataSource< T >::value_t |
The bare type of T is extracted into value_t.
Reimplemented from RTT::internal::DataSource< T >.
Reimplemented in RTT::internal::FusedFunctorDataSource< Signature, typename boost::enable_if< is_pure_reference< typename boost::function_traits< Signature >::result_type > >::type >, and RTT::corba::ValueDataSourceProxy< T >.
Definition at line 190 of file DataSource.hpp.
RTT::internal::AssignableDataSource< T >::~AssignableDataSource | ( | ) | [protected] |
virtual AssignableDataSource<T>* RTT::internal::AssignableDataSource< T >::clone | ( | ) | const [pure virtual] |
Return a shallow clone of this DataSource. This method returns a duplicate of this instance which re-uses the DataSources this internal::DataSource holds reference to. The clone() function is thus a non-deep copy.
Implements RTT::internal::DataSource< T >.
Implemented in RTT::internal::ActionAliasAssignableDataSource< T >, RTT::internal::LateReferenceDataSource< T >, RTT::internal::LateReferenceDataSource< ds_type >, RTT::internal::ArrayDataSource< T >, RTT::internal::ReferenceDataSource< T >, RTT::internal::ReferenceDataSource< ds_type >, RTT::internal::FusedFunctorDataSource< Signature, typename boost::enable_if< is_pure_reference< typename boost::function_traits< Signature >::result_type > >::type >, RTT::corba::ValueDataSourceProxy< T >, RTT::internal::PartDataSource< types::carray< T > >, RTT::internal::ArrayPartDataSource< T >, RTT::internal::PartDataSource< T >, RTT::internal::InputPortSource< T >, RTT::internal::ValueDataSource< T >, RTT::internal::ValueDataSource< ProgramInterfacePtr >, RTT::internal::ValueDataSource< ds_type >, and RTT::internal::ValueDataSource< StateMachinePtr >.
virtual AssignableDataSource<T>* RTT::internal::AssignableDataSource< T >::copy | ( | std::map< const base::DataSourceBase *, base::DataSourceBase * > & | alreadyCloned | ) | const [pure virtual] |
Implements RTT::internal::DataSource< T >.
Implemented in RTT::internal::ActionAliasAssignableDataSource< T >, RTT::internal::LateReferenceDataSource< T >, RTT::internal::LateReferenceDataSource< ds_type >, RTT::internal::ArrayDataSource< T >, RTT::internal::ReferenceDataSource< T >, RTT::internal::ReferenceDataSource< ds_type >, RTT::internal::FusedFunctorDataSource< Signature, typename boost::enable_if< is_pure_reference< typename boost::function_traits< Signature >::result_type > >::type >, RTT::corba::ValueDataSourceProxy< T >, RTT::internal::PartDataSource< types::carray< T > >, RTT::internal::ArrayPartDataSource< T >, RTT::internal::PartDataSource< T >, RTT::internal::InputPortSource< T >, RTT::internal::ValueDataSource< T >, RTT::internal::ValueDataSource< ProgramInterfacePtr >, RTT::internal::ValueDataSource< ds_type >, and RTT::internal::ValueDataSource< StateMachinePtr >.
void* RTT::internal::AssignableDataSource< T >::getRawPointer | ( | ) | [inline, virtual] |
Generic implementation of getRawPointer() based on set()
Reimplemented from RTT::base::DataSourceBase.
Definition at line 214 of file DataSource.hpp.
virtual bool RTT::internal::AssignableDataSource< T >::isAssignable | ( | ) | const [inline, virtual] |
Returns true if this object can be cast to an AssignableDataSource. When this method returns true, all update functions below will return as well when valid input is given.
Reimplemented from RTT::base::DataSourceBase.
Definition at line 216 of file DataSource.hpp.
static AssignableDataSource<T>* RTT::internal::AssignableDataSource< T >::narrow | ( | base::DataSourceBase * | db | ) | [static] |
This method narrows a base::DataSourceBase to a typeded AssignableDataSource, possibly returning a new object.
Reimplemented from RTT::internal::DataSource< T >.
virtual void RTT::internal::AssignableDataSource< T >::set | ( | param_t | t | ) | [pure virtual] |
Set this DataSource with a value.
virtual reference_t RTT::internal::AssignableDataSource< T >::set | ( | ) | [pure virtual] |
Get a reference to the value of this DataSource. Getting a reference to an internal data structure is not thread-safe.
Implemented in RTT::internal::ActionAliasAssignableDataSource< T >, RTT::internal::LateReferenceDataSource< T >, RTT::internal::LateReferenceDataSource< ds_type >, RTT::internal::ArrayDataSource< T >, RTT::internal::ReferenceDataSource< T >, RTT::internal::ReferenceDataSource< ds_type >, RTT::internal::FusedFunctorDataSource< Signature, typename boost::enable_if< is_pure_reference< typename boost::function_traits< Signature >::result_type > >::type >, RTT::corba::ValueDataSourceProxy< T >, RTT::internal::PartDataSource< types::carray< T > >, RTT::internal::ArrayPartDataSource< T >, RTT::internal::InputPortSource< T >, RTT::internal::PartDataSource< T >, RTT::internal::ValueDataSource< T >, RTT::internal::ValueDataSource< ProgramInterfacePtr >, RTT::internal::ValueDataSource< ds_type >, and RTT::internal::ValueDataSource< StateMachinePtr >.
virtual bool RTT::internal::AssignableDataSource< T >::update | ( | base::DataSourceBase * | other | ) | [virtual] |
Update the value of this internal::DataSource with the value of an other DataSource. Update does a full update of the value, adding extra information if necessary.
Reimplemented from RTT::base::DataSourceBase.
virtual base::ActionInterface* RTT::internal::AssignableDataSource< T >::updateAction | ( | base::DataSourceBase * | other | ) | [virtual] |
Generate a ActionInterface object which will update this internal::DataSource with the value of another internal::DataSource when execute()'ed.
Reimplemented from RTT::base::DataSourceBase.