Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions
RTT::internal::DataSource< T > Class Template Reference

#include <DataSource.hpp>

Inheritance diagram for RTT::internal::DataSource< T >:
Inheritance graph
[legend]

List of all members.

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::TypeInfogetTypeInfo () 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::TypeInfoGetTypeInfo ()
static std::string GetTypeName ()
static DataSource< T > * narrow (base::DataSourceBase *db)

Protected Member Functions

virtual ~DataSource ()

Detailed Description

template<typename T>
class RTT::internal::DataSource< T >

DataSource is a base class representing a generic way to read data of type T.

See also:
base::DataSourceBase for shared_ptr use.
Parameters:
TThe type of data returned.

Definition at line 94 of file DataSource.hpp.


Member Typedef Documentation

template<typename T>
typedef boost::intrusive_ptr<const DataSource<T> > RTT::internal::DataSource< T >::const_ptr
template<typename T>
typedef details::GetConstRef<T>::type RTT::internal::DataSource< T >::const_reference_t
template<typename T>
typedef T RTT::internal::DataSource< T >::result_t

Definition at line 106 of file DataSource.hpp.

template<typename T>
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.

template<typename T>
typedef T RTT::internal::DataSource< T >::value_t

Constructor & Destructor Documentation

template<typename T>
virtual RTT::internal::DataSource< T >::~DataSource ( ) [protected, virtual]

Member Function Documentation

template<typename T>
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>

template<typename 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 >.

template<typename 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 >.

template<typename T>
virtual bool RTT::internal::DataSource< T >::evaluate ( ) const [virtual]
template<typename 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 >.

template<typename 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.

template<typename T>
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 >.

template<typename T>
static std::string RTT::internal::DataSource< T >::GetType ( ) [static]

Return usefull type info in a human readable format.

template<typename T>
virtual const types::TypeInfo* RTT::internal::DataSource< T >::getTypeInfo ( ) const [virtual]

Return the Orocos type info object.

Implements RTT::base::DataSourceBase.

template<typename T>
static const types::TypeInfo* RTT::internal::DataSource< T >::GetTypeInfo ( ) [static]

Return the Orocos type info.

template<typename T>
static std::string RTT::internal::DataSource< T >::GetTypeName ( ) [static]

Return the Orocos type name, without const, pointer or reference qualifiers.

template<typename T>
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.

template<typename T>
static DataSource<T>* RTT::internal::DataSource< T >::narrow ( base::DataSourceBase db) [static]
template<typename T>
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.

Note:
Getting a reference to an internal data structure is not thread-safe.

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 >.

template<typename 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 >.


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


rtt
Author(s): RTT Developers
autogenerated on Sat Jun 8 2019 18:46:39