#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 Types inherited from RTT::base::DataSourceBase | |
typedef boost::intrusive_ptr< const DataSourceBase > | const_ptr |
typedef boost::intrusive_ptr< DataSourceBase > | shared_ptr |
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 |
Public Member Functions inherited from RTT::base::DataSourceBase | |
virtual DataSourceBase * | copy (std::map< const DataSourceBase *, DataSourceBase * > &alreadyCloned) const =0 |
DataSourceBase () | |
void | deref () const |
virtual shared_ptr | getMember (const std::string &member_name) |
virtual shared_ptr | getMember (DataSourceBase::shared_ptr member_id, DataSourceBase::shared_ptr offset) |
virtual std::vector< std::string > | getMemberNames () const |
virtual shared_ptr | getParent () |
virtual void * | getRawPointer () |
virtual bool | isAssignable () const |
void | ref () const |
virtual void | reset () |
std::string | toString () |
virtual bool | update (DataSourceBase *other) |
virtual ActionInterface * | updateAction (DataSourceBase *other) |
virtual void | updated () |
std::ostream & | write (std::ostream &os) |
Static Public Member Functions | |
static std::string | GetType () |
static const types::TypeInfo * | GetTypeInfo () |
static std::string | GetTypeName () |
static DataSource< T > * | narrow (base::DataSourceBase *db) |
Static Public Member Functions inherited from RTT::base::DataSourceBase | |
static const_ptr | stack_const_ptr (const DataSourceBase *dsb) |
static shared_ptr | stack_shared_ptr (DataSourceBase *dsb) |
Protected Member Functions | |
virtual | ~DataSource () |
Protected Member Functions inherited from RTT::base::DataSourceBase | |
virtual | ~DataSourceBase () |
Additional Inherited Members | |
Protected Attributes inherited from RTT::base::DataSourceBase | |
os::AtomicInt | refcount |
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 |
Definition at line 117 of file DataSource.hpp.
typedef details::GetConstRef<T>::type RTT::internal::DataSource< T >::const_reference_t |
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 |
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.
Definition at line 105 of file DataSource.hpp.
|
protectedvirtual |
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>
|
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 >, CorbaOperationCallerCollect, 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< DataSourceType >, RTT::internal::AssignableDataSource< SendHandle< Signature > >, 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< bool >, RTT::corba::ValueDataSourceProxy< 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::ConstReferenceDataSource< T >, RTT::scripting::CmdFunction, 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::CmdFunctionWrapper, RTT::internal::DataObjectDataSource< T >, RTT::corba::AnyDataSource, RTT::scripting::DataSourceTime, RTT::internal::DataSourceCommand, and RTT::scripting::DataSourceCondition.
|
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< DataSourceType >, RTT::internal::AssignableDataSource< SendHandle< Signature > >, 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< bool >, RTT::corba::ValueDataSourceProxy< 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::ConstReferenceDataSource< T >, RTT::scripting::CmdFunction, 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::CmdFunctionWrapper, RTT::internal::ValueDataSource< ProgramInterfacePtr >, RTT::internal::ValueDataSource< ds_type >, RTT::internal::ValueDataSource< StateMachinePtr >, RTT::internal::DataObjectDataSource< T >, RTT::corba::AnyDataSource, RTT::scripting::DataSourceTime, RTT::internal::DataSourceCommand, and RTT::scripting::DataSourceCondition.
|
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::scripting::CmdFunction, RTT::internal::FusedFunctorDataSource< Signature, Enable >, RTT::internal::InputPortSource< T >, RTT::CmdFunctionWrapper, and RTT::internal::DataObjectDataSource< T >.
|
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 >, CorbaOperationCallerCollect, 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::corba::ValueDataSourceProxy< T >, RTT::internal::ConstReferenceDataSource< T >, RTT::internal::PartDataSource< types::carray< T > >, RTT::internal::ConstantDataSource< T >, RTT::internal::FusedFunctorDataSource< Signature, Enable >, RTT::corba::DataSourceProxy< T >, RTT::scripting::CmdFunction, RTT::internal::InputPortSource< T >, RTT::internal::ArrayPartDataSource< T >, RTT::internal::PartDataSource< T >, RTT::CmdFunctionWrapper, RTT::corba::AnyDataSource, RTT::internal::ValueDataSource< T >, RTT::internal::ValueDataSource< ProgramInterfacePtr >, RTT::internal::ValueDataSource< ds_type >, RTT::internal::ValueDataSource< StateMachinePtr >, RTT::internal::DataObjectDataSource< T >, RTT::internal::DataSourceCommand, RTT::scripting::DataSourceCondition, and RTT::scripting::DataSourceTime.
|
inlinevirtual |
Generic implementation of getRawConstPointer() based on rvalue()
Reimplemented from RTT::base::DataSourceBase.
Definition at line 141 of file DataSource.hpp.
|
virtual |
Return useful type info in a human readable format.
Implements RTT::base::DataSourceBase.
Reimplemented in RTT::corba::DataSourceProxy< T >.
|
static |
Return usefull type info in a human readable format.
|
virtual |
Return the Orocos type info object.
Implements RTT::base::DataSourceBase.
|
static |
|
static |
|
virtual |
Return the Orocos type name, without const, pointer or reference qualifiers.
Implements RTT::base::DataSourceBase.
|
static |
This method narrows a base::DataSourceBase to a typeded DataSource, possibly returning a new object.
|
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::FusedMCollectDataSource< Signature >, RTT::internal::LateReferenceDataSource< T >, RTT::internal::LateReferenceDataSource< ds_type >, CorbaOperationCallerCollect, 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::PartDataSource< types::carray< T > >, 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::ConstantDataSource< T >, RTT::scripting::CmdFunction, RTT::internal::ArrayPartDataSource< T >, RTT::internal::FusedFunctorDataSource< Signature, Enable >, RTT::corba::DataSourceProxy< T >, RTT::internal::PartDataSource< T >, RTT::internal::ValueDataSource< T >, RTT::internal::ValueDataSource< ProgramInterfacePtr >, RTT::internal::ValueDataSource< ds_type >, RTT::internal::ValueDataSource< StateMachinePtr >, RTT::CmdFunctionWrapper, RTT::internal::InputPortSource< T >, RTT::internal::DataObjectDataSource< T >, RTT::corba::AnyDataSource, RTT::scripting::DataSourceTime, RTT::internal::DataSourceCommand, and RTT::scripting::DataSourceCondition.
|
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 >, CorbaOperationCallerCollect, 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::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::scripting::CmdFunction, RTT::internal::FusedFunctorDataSource< Signature, Enable >, RTT::corba::DataSourceProxy< T >, RTT::internal::ArrayPartDataSource< T >, RTT::internal::PartDataSource< T >, RTT::CmdFunctionWrapper, RTT::internal::InputPortSource< T >, RTT::internal::ValueDataSource< T >, RTT::corba::AnyDataSource, RTT::internal::ValueDataSource< ProgramInterfacePtr >, RTT::internal::ValueDataSource< ds_type >, RTT::internal::ValueDataSource< StateMachinePtr >, RTT::internal::DataObjectDataSource< T >, RTT::internal::DataSourceCommand, RTT::scripting::DataSourceCondition, and RTT::scripting::DataSourceTime.