#include <DataSource.hpp>
Public Types | |
typedef boost::intrusive_ptr < const DataSource< T > > | const_ptr |
typedef details::GetConstRef < T >::type | const_reference_t |
typedef T | result_t |
typedef boost::intrusive_ptr < DataSource< T > > | shared_ptr |
typedef T | value_t |
Public Member Functions | |
BOOST_STATIC_ASSERT (!details::HasConst< T >::value) | |
virtual DataSource< T > * | clone () const =0 |
virtual DataSource< T > * | copy (std::map< const base::DataSourceBase *, base::DataSourceBase * > &alreadyCloned) const =0 |
virtual bool | evaluate () const |
virtual result_t | get () const =0 |
void const * | getRawConstPointer () |
virtual std::string | getType () const |
virtual const types::TypeInfo * | getTypeInfo () const |
virtual std::string | getTypeName () const |
virtual const_reference_t | rvalue () const =0 |
virtual result_t | value () const =0 |
Static Public Member Functions | |
static std::string | GetType () |
static const types::TypeInfo * | GetTypeInfo () |
static std::string | GetTypeName () |
static DataSource< T > * | narrow (base::DataSourceBase *db) |
Protected Member Functions | |
virtual | ~DataSource () |
DataSource is a base class representing a generic way to read data of type T.
T | The type of data returned. |
Definition at line 94 of file DataSource.hpp.
typedef boost::intrusive_ptr<const DataSource<T> > RTT::internal::DataSource< T >::const_ptr |
Use this type to store a const pointer to a DataSourceBase.
Reimplemented from RTT::base::DataSourceBase.
Reimplemented in RTT::internal::AssignableDataSource< T >, RTT::internal::AssignableDataSource< ProgramInterfacePtr >, RTT::internal::AssignableDataSource< DataSourceType >, RTT::internal::AssignableDataSource< int >, RTT::internal::AssignableDataSource< types::carray< T > >, RTT::internal::AssignableDataSource< remove_cr< boost::function_traits< Signature >::result_type >::type >, RTT::internal::AssignableDataSource< ds_type >, RTT::internal::AssignableDataSource< value_t >, RTT::internal::AssignableDataSource< ProgramInterface * >, RTT::internal::AssignableDataSource< bool >, and RTT::internal::AssignableDataSource< StateMachinePtr >.
Definition at line 117 of file DataSource.hpp.
typedef details::GetConstRef<T>::type RTT::internal::DataSource< T >::const_reference_t |
Reimplemented in RTT::internal::FusedMCollectDataSource< Signature >, RTT::internal::FusedMSendDataSource< Signature >, RTT::internal::FusedMCallDataSource< Signature >, RTT::internal::AssignableDataSource< T >, RTT::internal::AssignableDataSource< ProgramInterfacePtr >, RTT::internal::AssignableDataSource< DataSourceType >, RTT::internal::AssignableDataSource< int >, RTT::internal::AssignableDataSource< types::carray< T > >, RTT::internal::AssignableDataSource< remove_cr< boost::function_traits< Signature >::result_type >::type >, RTT::internal::AssignableDataSource< ds_type >, RTT::internal::AssignableDataSource< value_t >, RTT::internal::AssignableDataSource< ProgramInterface * >, RTT::internal::AssignableDataSource< bool >, RTT::internal::AssignableDataSource< StateMachinePtr >, RTT::internal::FusedFunctorDataSource< Signature, typename boost::enable_if< is_pure_reference< typename boost::function_traits< Signature >::result_type > >::type >, and RTT::internal::FusedFunctorDataSource< Signature, Enable >.
Definition at line 107 of file DataSource.hpp.
typedef T RTT::internal::DataSource< T >::result_t |
Definition at line 106 of file DataSource.hpp.
typedef boost::intrusive_ptr<DataSource<T> > RTT::internal::DataSource< T >::shared_ptr |
Use this type to store a pointer to a DataSourceBase.
Reimplemented from RTT::base::DataSourceBase.
Reimplemented in RTT::internal::NArityDataSource< function >, RTT::internal::UnaryDataSource< function >, RTT::internal::BinaryDataSource< function >, RTT::internal::ActionAliasAssignableDataSource< T >, RTT::internal::ActionAliasDataSource< T >, RTT::internal::LateConstReferenceDataSource< T >, RTT::internal::LateConstReferenceDataSource< A >, RTT::internal::FusedMCollectDataSource< Signature >, RTT::internal::LateReferenceDataSource< T >, RTT::internal::LateReferenceDataSource< ds_type >, RTT::internal::FusedMSendDataSource< Signature >, RTT::internal::ArrayDataSource< T >, RTT::internal::AliasDataSource< T >, RTT::internal::FusedMCallDataSource< Signature >, RTT::internal::ReferenceDataSource< T >, RTT::internal::ReferenceDataSource< ds_type >, RTT::internal::AssignableDataSource< T >, RTT::internal::AssignableDataSource< ProgramInterfacePtr >, RTT::internal::AssignableDataSource< DataSourceType >, RTT::internal::AssignableDataSource< int >, RTT::internal::AssignableDataSource< types::carray< T > >, RTT::internal::AssignableDataSource< remove_cr< boost::function_traits< Signature >::result_type >::type >, RTT::internal::AssignableDataSource< ds_type >, RTT::internal::AssignableDataSource< value_t >, RTT::internal::AssignableDataSource< ProgramInterface * >, RTT::internal::AssignableDataSource< bool >, RTT::internal::AssignableDataSource< StateMachinePtr >, RTT::internal::ConstReferenceDataSource< T >, 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::ConstantDataSource< T >, RTT::internal::FusedFunctorDataSource< Signature, Enable >, RTT::corba::AnyDataSource, 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 >, RTT::internal::PartDataSource< T >, and RTT::internal::DataObjectDataSource< T >.
Definition at line 115 of file DataSource.hpp.
typedef T RTT::internal::DataSource< T >::value_t |
The bare type of T is extracted into value_t.
Reimplemented in RTT::internal::NArityDataSource< function >, RTT::internal::UnaryDataSource< function >, RTT::internal::BinaryDataSource< function >, RTT::internal::FusedMCollectDataSource< Signature >, RTT::internal::FusedMSendDataSource< Signature >, RTT::internal::FusedMCallDataSource< Signature >, RTT::internal::AssignableDataSource< T >, RTT::internal::AssignableDataSource< ProgramInterfacePtr >, RTT::internal::AssignableDataSource< DataSourceType >, RTT::internal::AssignableDataSource< int >, RTT::internal::AssignableDataSource< types::carray< T > >, RTT::internal::AssignableDataSource< remove_cr< boost::function_traits< Signature >::result_type >::type >, RTT::internal::AssignableDataSource< ds_type >, RTT::internal::AssignableDataSource< value_t >, RTT::internal::AssignableDataSource< ProgramInterface * >, RTT::internal::AssignableDataSource< bool >, RTT::internal::AssignableDataSource< StateMachinePtr >, RTT::internal::FusedFunctorDataSource< Signature, typename boost::enable_if< is_pure_reference< typename boost::function_traits< Signature >::result_type > >::type >, RTT::corba::ValueDataSourceProxy< T >, and RTT::internal::FusedFunctorDataSource< Signature, Enable >.
Definition at line 105 of file DataSource.hpp.
virtual RTT::internal::DataSource< T >::~DataSource | ( | ) | [protected, virtual] |
RTT::internal::DataSource< T >::BOOST_STATIC_ASSERT | ( | !details::HasConst< T >::value | ) |
If you get a compile error here, it means T has const or reference qualifiers, which is not allowed for DataSource<T>
virtual DataSource<T>* RTT::internal::DataSource< 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::base::DataSourceBase.
Implemented in RTT::internal::NArityDataSource< function >, RTT::internal::UnaryDataSource< function >, RTT::internal::BinaryDataSource< function >, RTT::internal::ActionAliasAssignableDataSource< T >, RTT::internal::ActionAliasDataSource< T >, RTT::internal::LateConstReferenceDataSource< T >, RTT::internal::LateConstReferenceDataSource< A >, RTT::internal::FusedMCollectDataSource< Signature >, RTT::internal::LateReferenceDataSource< T >, RTT::internal::LateReferenceDataSource< ds_type >, RTT::internal::ArrayDataSource< T >, RTT::internal::FusedMSendDataSource< Signature >, RTT::internal::FusedMCallDataSource< Signature >, RTT::internal::AliasDataSource< T >, RTT::internal::ReferenceDataSource< T >, RTT::internal::ReferenceDataSource< ds_type >, RTT::internal::AssignableDataSource< T >, RTT::internal::AssignableDataSource< ProgramInterfacePtr >, RTT::internal::AssignableDataSource< DataSourceType >, RTT::internal::AssignableDataSource< int >, RTT::internal::AssignableDataSource< types::carray< T > >, RTT::internal::AssignableDataSource< remove_cr< boost::function_traits< Signature >::result_type >::type >, RTT::internal::AssignableDataSource< ds_type >, RTT::internal::AssignableDataSource< value_t >, RTT::internal::AssignableDataSource< ProgramInterface * >, RTT::internal::AssignableDataSource< bool >, RTT::internal::AssignableDataSource< StateMachinePtr >, 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::ConstReferenceDataSource< T >, RTT::internal::PartDataSource< types::carray< T > >, RTT::internal::ConstantDataSource< T >, RTT::internal::ArrayPartDataSource< T >, RTT::internal::FusedFunctorDataSource< Signature, Enable >, RTT::corba::DataSourceProxy< T >, RTT::internal::PartDataSource< T >, RTT::internal::InputPortSource< T >, RTT::internal::ValueDataSource< T >, RTT::internal::ValueDataSource< ProgramInterfacePtr >, RTT::internal::ValueDataSource< ds_type >, RTT::internal::ValueDataSource< StateMachinePtr >, RTT::corba::AnyDataSource, RTT::scripting::DataSourceTime, RTT::internal::DataSourceCommand, RTT::scripting::DataSourceCondition, and RTT::internal::DataObjectDataSource< T >.
virtual DataSource<T>* RTT::internal::DataSource< T >::copy | ( | std::map< const base::DataSourceBase *, base::DataSourceBase * > & | alreadyCloned | ) | const [pure virtual] |
Implemented in RTT::internal::NArityDataSource< function >, RTT::internal::UnaryDataSource< function >, RTT::internal::BinaryDataSource< function >, RTT::internal::ActionAliasAssignableDataSource< T >, RTT::internal::ActionAliasDataSource< T >, RTT::internal::LateConstReferenceDataSource< T >, RTT::internal::LateConstReferenceDataSource< A >, RTT::internal::FusedMCollectDataSource< Signature >, RTT::internal::LateReferenceDataSource< T >, RTT::internal::LateReferenceDataSource< ds_type >, RTT::internal::FusedMSendDataSource< Signature >, RTT::internal::ArrayDataSource< T >, RTT::internal::FusedMCallDataSource< Signature >, RTT::internal::AliasDataSource< T >, RTT::internal::ReferenceDataSource< T >, RTT::internal::ReferenceDataSource< ds_type >, RTT::internal::AssignableDataSource< T >, RTT::internal::AssignableDataSource< ProgramInterfacePtr >, RTT::internal::AssignableDataSource< DataSourceType >, RTT::internal::AssignableDataSource< int >, RTT::internal::AssignableDataSource< types::carray< T > >, RTT::internal::AssignableDataSource< remove_cr< boost::function_traits< Signature >::result_type >::type >, RTT::internal::AssignableDataSource< ds_type >, RTT::internal::AssignableDataSource< value_t >, RTT::internal::AssignableDataSource< ProgramInterface * >, RTT::internal::AssignableDataSource< bool >, RTT::internal::AssignableDataSource< StateMachinePtr >, 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::ConstReferenceDataSource< T >, RTT::internal::PartDataSource< types::carray< T > >, RTT::internal::ConstantDataSource< T >, RTT::internal::FusedFunctorDataSource< Signature, Enable >, RTT::internal::ArrayPartDataSource< T >, RTT::corba::DataSourceProxy< T >, RTT::internal::PartDataSource< T >, RTT::internal::InputPortSource< T >, RTT::internal::ValueDataSource< T >, RTT::internal::ValueDataSource< ProgramInterfacePtr >, RTT::internal::ValueDataSource< ds_type >, RTT::internal::ValueDataSource< StateMachinePtr >, RTT::corba::AnyDataSource, RTT::scripting::DataSourceTime, RTT::internal::DataSourceCommand, RTT::scripting::DataSourceCondition, and RTT::internal::DataObjectDataSource< T >.
virtual bool RTT::internal::DataSource< T >::evaluate | ( | ) | const [virtual] |
Force an evaluation of the DataSourceBase.
Implements RTT::base::DataSourceBase.
Reimplemented in RTT::internal::ActionAliasAssignableDataSource< T >, RTT::internal::ActionAliasDataSource< T >, RTT::internal::FusedMCallDataSource< Signature >, RTT::internal::AliasDataSource< T >, RTT::internal::FusedFunctorDataSource< Signature, typename boost::enable_if< is_pure_reference< typename boost::function_traits< Signature >::result_type > >::type >, RTT::internal::FusedFunctorDataSource< Signature, Enable >, RTT::internal::InputPortSource< T >, and RTT::internal::DataObjectDataSource< T >.
virtual result_t RTT::internal::DataSource< T >::get | ( | ) | const [pure virtual] |
Return the data as type T.
Implemented in RTT::internal::NArityDataSource< function >, RTT::internal::UnaryDataSource< function >, RTT::internal::BinaryDataSource< function >, RTT::internal::ActionAliasAssignableDataSource< T >, RTT::internal::ActionAliasDataSource< T >, RTT::internal::LateConstReferenceDataSource< T >, RTT::internal::LateConstReferenceDataSource< A >, RTT::internal::FusedMCollectDataSource< Signature >, RTT::internal::LateReferenceDataSource< T >, RTT::internal::LateReferenceDataSource< ds_type >, RTT::internal::FusedMSendDataSource< Signature >, RTT::internal::ArrayDataSource< T >, RTT::internal::FusedMCallDataSource< Signature >, RTT::internal::AliasDataSource< 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::ConstReferenceDataSource< T >, RTT::corba::ValueDataSourceProxy< T >, RTT::internal::PartDataSource< types::carray< T > >, RTT::internal::ConstantDataSource< T >, RTT::internal::FusedFunctorDataSource< Signature, Enable >, RTT::corba::DataSourceProxy< T >, RTT::internal::InputPortSource< T >, RTT::internal::ArrayPartDataSource< T >, RTT::internal::PartDataSource< T >, RTT::corba::AnyDataSource, RTT::internal::ValueDataSource< T >, RTT::internal::ValueDataSource< ProgramInterfacePtr >, RTT::internal::ValueDataSource< ds_type >, RTT::internal::ValueDataSource< StateMachinePtr >, RTT::internal::DataSourceCommand, RTT::scripting::DataSourceCondition, RTT::scripting::DataSourceTime, and RTT::internal::DataObjectDataSource< T >.
void const* RTT::internal::DataSource< T >::getRawConstPointer | ( | ) | [inline, virtual] |
Generic implementation of getRawConstPointer() based on rvalue()
Reimplemented from RTT::base::DataSourceBase.
Definition at line 141 of file DataSource.hpp.
virtual std::string RTT::internal::DataSource< T >::getType | ( | ) | const [virtual] |
Return useful type info in a human readable format.
Implements RTT::base::DataSourceBase.
Reimplemented in RTT::corba::DataSourceProxy< T >.
static std::string RTT::internal::DataSource< T >::GetType | ( | ) | [static] |
Return usefull type info in a human readable format.
virtual const types::TypeInfo* RTT::internal::DataSource< T >::getTypeInfo | ( | ) | const [virtual] |
Return the Orocos type info object.
Implements RTT::base::DataSourceBase.
static const types::TypeInfo* RTT::internal::DataSource< T >::GetTypeInfo | ( | ) | [static] |
static std::string RTT::internal::DataSource< T >::GetTypeName | ( | ) | [static] |
virtual std::string RTT::internal::DataSource< T >::getTypeName | ( | ) | const [virtual] |
Return the Orocos type name, without const, pointer or reference qualifiers.
Implements RTT::base::DataSourceBase.
static DataSource<T>* RTT::internal::DataSource< T >::narrow | ( | base::DataSourceBase * | db | ) | [static] |
This method narrows a base::DataSourceBase to a typeded DataSource, possibly returning a new object.
Reimplemented in RTT::internal::AssignableDataSource< T >, RTT::internal::AssignableDataSource< ProgramInterfacePtr >, RTT::internal::AssignableDataSource< DataSourceType >, RTT::internal::AssignableDataSource< int >, RTT::internal::AssignableDataSource< types::carray< T > >, RTT::internal::AssignableDataSource< remove_cr< boost::function_traits< Signature >::result_type >::type >, RTT::internal::AssignableDataSource< ds_type >, RTT::internal::AssignableDataSource< value_t >, RTT::internal::AssignableDataSource< ProgramInterface * >, RTT::internal::AssignableDataSource< bool >, and RTT::internal::AssignableDataSource< StateMachinePtr >.
virtual const_reference_t RTT::internal::DataSource< T >::rvalue | ( | ) | const [pure virtual] |
Get a const reference to the value of this DataSource. You must call evaluate() prior to calling this function in order to get the most recent value of this attribute.
Implemented in RTT::internal::NArityDataSource< function >, RTT::internal::UnaryDataSource< function >, RTT::internal::BinaryDataSource< function >, RTT::internal::ActionAliasAssignableDataSource< T >, RTT::internal::ActionAliasDataSource< T >, RTT::internal::LateConstReferenceDataSource< T >, RTT::internal::LateConstReferenceDataSource< A >, RTT::internal::LateReferenceDataSource< T >, RTT::internal::LateReferenceDataSource< ds_type >, RTT::internal::FusedMCollectDataSource< Signature >, RTT::internal::ArrayDataSource< T >, RTT::internal::FusedMSendDataSource< Signature >, RTT::internal::AliasDataSource< T >, RTT::internal::FusedMCallDataSource< Signature >, RTT::internal::ReferenceDataSource< T >, RTT::internal::ReferenceDataSource< ds_type >, RTT::internal::ConstReferenceDataSource< T >, RTT::internal::PartDataSource< types::carray< T > >, 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::ConstantDataSource< T >, RTT::internal::ArrayPartDataSource< T >, RTT::internal::FusedFunctorDataSource< Signature, Enable >, RTT::internal::PartDataSource< T >, RTT::corba::DataSourceProxy< T >, RTT::internal::ValueDataSource< T >, RTT::internal::ValueDataSource< ProgramInterfacePtr >, RTT::internal::ValueDataSource< ds_type >, RTT::internal::ValueDataSource< StateMachinePtr >, RTT::internal::InputPortSource< T >, RTT::corba::AnyDataSource, RTT::scripting::DataSourceTime, RTT::internal::DataSourceCommand, RTT::scripting::DataSourceCondition, and RTT::internal::DataObjectDataSource< T >.
virtual result_t RTT::internal::DataSource< T >::value | ( | ) | const [pure virtual] |
Return the result of the last evaluate() function. You must call evaluate() prior to calling this function in order to get the most recent value of this attribute.
Implemented in RTT::internal::NArityDataSource< function >, RTT::internal::UnaryDataSource< function >, RTT::internal::BinaryDataSource< function >, RTT::internal::ActionAliasAssignableDataSource< T >, RTT::internal::ActionAliasDataSource< T >, RTT::internal::LateConstReferenceDataSource< T >, RTT::internal::LateConstReferenceDataSource< A >, RTT::internal::FusedMCollectDataSource< Signature >, RTT::internal::LateReferenceDataSource< T >, RTT::internal::LateReferenceDataSource< ds_type >, RTT::internal::ArrayDataSource< T >, RTT::internal::FusedMSendDataSource< Signature >, RTT::internal::AliasDataSource< T >, RTT::internal::FusedMCallDataSource< Signature >, RTT::internal::ReferenceDataSource< T >, RTT::internal::ReferenceDataSource< ds_type >, RTT::internal::ConstReferenceDataSource< T >, 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::corba::ValueDataSourceProxy< T >, RTT::internal::ConstantDataSource< T >, RTT::internal::FusedFunctorDataSource< Signature, Enable >, RTT::corba::DataSourceProxy< 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 >, RTT::internal::ValueDataSource< StateMachinePtr >, RTT::corba::AnyDataSource, RTT::internal::DataSourceCommand, RTT::scripting::DataSourceCondition, RTT::scripting::DataSourceTime, and RTT::internal::DataObjectDataSource< T >.