#include <DataSources.hpp>
Public Types | |
typedef boost::intrusive_ptr < BinaryDataSource< function > > | shared_ptr |
typedef boost::intrusive_ptr < BinaryDataSource< function > > | shared_ptr |
Public Member Functions | |
BinaryDataSource (typename DataSource< first_arg_t >::shared_ptr a, typename DataSource< second_arg_t >::shared_ptr b, function f) | |
BinaryDataSource (typename DataSource< first_arg_t >::shared_ptr a, typename DataSource< second_arg_t >::shared_ptr b, function f) | |
virtual BinaryDataSource < function > * | clone () const |
virtual BinaryDataSource < function > * | clone () const |
virtual BinaryDataSource < function > * | copy (std::map< const base::DataSourceBase *, base::DataSourceBase * > &alreadyCloned) const |
virtual BinaryDataSource < function > * | copy (std::map< const base::DataSourceBase *, base::DataSourceBase * > &alreadyCloned) const |
virtual value_t | get () const |
virtual value_t | get () const |
virtual void | reset () |
virtual void | reset () |
DataSource< value_t > ::const_reference_t | rvalue () const |
DataSource< value_t > ::const_reference_t | rvalue () const |
virtual value_t | value () const |
virtual value_t | value () const |
Private Types | |
typedef remove_cr< typename function::first_argument_type > ::type | first_arg_t |
typedef remove_cr< typename function::first_argument_type > ::type | first_arg_t |
typedef remove_cr< typename function::second_argument_type > ::type | second_arg_t |
typedef remove_cr< typename function::second_argument_type > ::type | second_arg_t |
typedef remove_cr< typename function::result_type >::type | value_t |
typedef remove_cr< typename function::result_type >::type | value_t |
Private Attributes | |
function | fun |
value_t | mdata |
DataSource< first_arg_t > ::shared_ptr | mdsa |
DataSource< second_arg_t > ::shared_ptr | mdsb |
A generic binary composite DataSource. It takes a function object which is a model of the STL Adaptable Binary Function concept, and two DataSource's with result types matching the argument types of the given function. Its get() method then applies the function to the results of the get() methods of the two DataSource's given.
The parser system uses a hell of a lot of these for evaluating expressions, comparisons etc. I must say I think this is pretty cool ;) C++ rocks ! ;)
Definition at line 600 of file install/include/rtt/internal/DataSources.hpp.
typedef remove_cr<typename function::first_argument_type>::type RTT::internal::BinaryDataSource< function >::first_arg_t [private] |
Definition at line 604 of file rtt/internal/DataSources.hpp.
typedef remove_cr<typename function::first_argument_type>::type RTT::internal::BinaryDataSource< function >::first_arg_t [private] |
Definition at line 604 of file install/include/rtt/internal/DataSources.hpp.
typedef remove_cr<typename function::second_argument_type>::type RTT::internal::BinaryDataSource< function >::second_arg_t [private] |
Definition at line 605 of file rtt/internal/DataSources.hpp.
typedef remove_cr<typename function::second_argument_type>::type RTT::internal::BinaryDataSource< function >::second_arg_t [private] |
Definition at line 605 of file install/include/rtt/internal/DataSources.hpp.
typedef boost::intrusive_ptr<BinaryDataSource<function> > RTT::internal::BinaryDataSource< function >::shared_ptr |
Use this type to store a pointer to a DataSourceBase.
Reimplemented from RTT::internal::DataSource< remove_cr< function::result_type >::type >.
Definition at line 611 of file rtt/internal/DataSources.hpp.
typedef boost::intrusive_ptr<BinaryDataSource<function> > RTT::internal::BinaryDataSource< function >::shared_ptr |
Use this type to store a pointer to a DataSourceBase.
Reimplemented from RTT::internal::DataSource< remove_cr< function::result_type >::type >.
Definition at line 611 of file install/include/rtt/internal/DataSources.hpp.
typedef remove_cr<typename function::result_type>::type RTT::internal::BinaryDataSource< function >::value_t [private] |
The bare type of T is extracted into value_t.
Reimplemented from RTT::internal::DataSource< remove_cr< function::result_type >::type >.
Definition at line 603 of file rtt/internal/DataSources.hpp.
typedef remove_cr<typename function::result_type>::type RTT::internal::BinaryDataSource< function >::value_t [private] |
The bare type of T is extracted into value_t.
Reimplemented from RTT::internal::DataSource< remove_cr< function::result_type >::type >.
Definition at line 603 of file install/include/rtt/internal/DataSources.hpp.
RTT::internal::BinaryDataSource< function >::BinaryDataSource | ( | typename DataSource< first_arg_t >::shared_ptr | a, | |
typename DataSource< second_arg_t >::shared_ptr | b, | |||
function | f | |||
) | [inline] |
Create a DataSource which returns the return value of a function f which is given argument a and b.
Definition at line 617 of file install/include/rtt/internal/DataSources.hpp.
RTT::internal::BinaryDataSource< function >::BinaryDataSource | ( | typename DataSource< first_arg_t >::shared_ptr | a, | |
typename DataSource< second_arg_t >::shared_ptr | b, | |||
function | f | |||
) | [inline] |
Create a DataSource which returns the return value of a function f which is given argument a and b.
Definition at line 617 of file rtt/internal/DataSources.hpp.
virtual BinaryDataSource<function>* RTT::internal::BinaryDataSource< function >::clone | ( | ) | const [inline, 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< remove_cr< function::result_type >::type >.
Definition at line 647 of file rtt/internal/DataSources.hpp.
virtual BinaryDataSource<function>* RTT::internal::BinaryDataSource< function >::clone | ( | ) | const [inline, 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< remove_cr< function::result_type >::type >.
Definition at line 647 of file install/include/rtt/internal/DataSources.hpp.
virtual BinaryDataSource<function>* RTT::internal::BinaryDataSource< function >::copy | ( | std::map< const base::DataSourceBase *, base::DataSourceBase * > & | alreadyCloned | ) | const [inline, virtual] |
Implements RTT::internal::DataSource< remove_cr< function::result_type >::type >.
Definition at line 652 of file rtt/internal/DataSources.hpp.
virtual BinaryDataSource<function>* RTT::internal::BinaryDataSource< function >::copy | ( | std::map< const base::DataSourceBase *, base::DataSourceBase * > & | alreadyCloned | ) | const [inline, virtual] |
Implements RTT::internal::DataSource< remove_cr< function::result_type >::type >.
Definition at line 652 of file install/include/rtt/internal/DataSources.hpp.
virtual value_t RTT::internal::BinaryDataSource< function >::get | ( | ) | const [inline, virtual] |
Return the data as type T.
Implements RTT::internal::DataSource< remove_cr< function::result_type >::type >.
Definition at line 624 of file rtt/internal/DataSources.hpp.
virtual value_t RTT::internal::BinaryDataSource< function >::get | ( | ) | const [inline, virtual] |
Return the data as type T.
Implements RTT::internal::DataSource< remove_cr< function::result_type >::type >.
Definition at line 624 of file install/include/rtt/internal/DataSources.hpp.
virtual void RTT::internal::BinaryDataSource< function >::reset | ( | ) | [inline, virtual] |
Reset the data to initial values.
Reimplemented from RTT::base::DataSourceBase.
Definition at line 641 of file rtt/internal/DataSources.hpp.
virtual void RTT::internal::BinaryDataSource< function >::reset | ( | ) | [inline, virtual] |
Reset the data to initial values.
Reimplemented from RTT::base::DataSourceBase.
Definition at line 641 of file install/include/rtt/internal/DataSources.hpp.
DataSource<value_t>::const_reference_t RTT::internal::BinaryDataSource< function >::rvalue | ( | ) | const [inline, 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.
Implements RTT::internal::DataSource< remove_cr< function::result_type >::type >.
Definition at line 636 of file rtt/internal/DataSources.hpp.
DataSource<value_t>::const_reference_t RTT::internal::BinaryDataSource< function >::rvalue | ( | ) | const [inline, 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.
Implements RTT::internal::DataSource< remove_cr< function::result_type >::type >.
Definition at line 636 of file install/include/rtt/internal/DataSources.hpp.
virtual value_t RTT::internal::BinaryDataSource< function >::value | ( | ) | const [inline, 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.
Implements RTT::internal::DataSource< remove_cr< function::result_type >::type >.
Definition at line 631 of file rtt/internal/DataSources.hpp.
virtual value_t RTT::internal::BinaryDataSource< function >::value | ( | ) | const [inline, 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.
Implements RTT::internal::DataSource< remove_cr< function::result_type >::type >.
Definition at line 631 of file install/include/rtt/internal/DataSources.hpp.
function RTT::internal::BinaryDataSource< function >::fun [private] |
Definition at line 608 of file install/include/rtt/internal/DataSources.hpp.
value_t RTT::internal::BinaryDataSource< function >::mdata [mutable, private] |
Definition at line 609 of file install/include/rtt/internal/DataSources.hpp.
DataSource< first_arg_t >::shared_ptr RTT::internal::BinaryDataSource< function >::mdsa [private] |
Definition at line 606 of file install/include/rtt/internal/DataSources.hpp.
DataSource< second_arg_t >::shared_ptr RTT::internal::BinaryDataSource< function >::mdsb [private] |
Definition at line 607 of file install/include/rtt/internal/DataSources.hpp.