#include <InputPortSource.hpp>
Public Types | |
typedef boost::intrusive_ptr < InputPortSource< T > > | shared_ptr |
Public Member Functions | |
AssignableDataSource< T > * | clone () const |
AssignableDataSource< T > * | copy (std::map< const base::DataSourceBase *, base::DataSourceBase * > &alreadyCloned) const |
bool | evaluate () const |
DataSource< T >::result_t | get () const |
InputPortSource (InputPort< T > &port) | |
void | reset () |
DataSource< T >::const_reference_t | rvalue () const |
virtual void | set (typename AssignableDataSource< T >::param_t t) |
virtual AssignableDataSource < T >::reference_t | set () |
DataSource< T >::result_t | value () const |
Private Attributes | |
T | mvalue |
InputPort< T > * | port |
This class represents a read port using the data source interface. Beware that, depending on the connection used, ports actually change their state when read. For instance, a buffer connection *will* lose one element when get() or evaluate() are called. For that reason, it is considered bad practice to use a data source on a read port that is bound to a buffer connection.
This class should not be used directly in normal code. What you would usually do is create a new read port using OutputPort::antiClone() and call base::InputPortInterface::getDataSource() to get the corresponding data source. This is your duty to destroy the port when it is not needed anymore.
Definition at line 67 of file InputPortSource.hpp.
typedef boost::intrusive_ptr<InputPortSource<T> > RTT::internal::InputPortSource< T >::shared_ptr |
Use this type to store a pointer to an AssignableDataSource.
Reimplemented from RTT::internal::AssignableDataSource< T >.
Definition at line 73 of file InputPortSource.hpp.
RTT::internal::InputPortSource< T >::InputPortSource | ( | InputPort< T > & | port | ) | [inline] |
Definition at line 75 of file InputPortSource.hpp.
AssignableDataSource<T>* RTT::internal::InputPortSource< T >::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::AssignableDataSource< T >.
Definition at line 105 of file InputPortSource.hpp.
AssignableDataSource<T>* RTT::internal::InputPortSource< T >::copy | ( | std::map< const base::DataSourceBase *, base::DataSourceBase * > & | alreadyCloned | ) | const [inline, virtual] |
Implements RTT::internal::AssignableDataSource< T >.
Definition at line 107 of file InputPortSource.hpp.
bool RTT::internal::InputPortSource< T >::evaluate | ( | ) | const [inline, virtual] |
Force an evaluation of the DataSourceBase.
Reimplemented from RTT::internal::DataSource< T >.
Definition at line 81 of file InputPortSource.hpp.
DataSource<T>::result_t RTT::internal::InputPortSource< T >::get | ( | ) | const [inline, virtual] |
Return the data as type T.
Implements RTT::internal::DataSource< T >.
Definition at line 90 of file InputPortSource.hpp.
void RTT::internal::InputPortSource< T >::reset | ( | ) | [inline, virtual] |
Reset the data to initial values.
Reimplemented from RTT::base::DataSourceBase.
Definition at line 80 of file InputPortSource.hpp.
DataSource<T>::const_reference_t RTT::internal::InputPortSource< T >::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< T >.
Definition at line 88 of file InputPortSource.hpp.
virtual void RTT::internal::InputPortSource< T >::set | ( | typename AssignableDataSource< T >::param_t | t | ) | [inline, virtual] |
Definition at line 97 of file InputPortSource.hpp.
virtual AssignableDataSource<T>::reference_t RTT::internal::InputPortSource< T >::set | ( | ) | [inline, virtual] |
Get a reference to the value of this DataSource. Getting a reference to an internal data structure is not thread-safe.
Implements RTT::internal::AssignableDataSource< T >.
Definition at line 101 of file InputPortSource.hpp.
DataSource<T>::result_t RTT::internal::InputPortSource< T >::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< T >.
Definition at line 86 of file InputPortSource.hpp.
T RTT::internal::InputPortSource< T >::mvalue [mutable, private] |
Definition at line 70 of file InputPortSource.hpp.
InputPort<T>* RTT::internal::InputPortSource< T >::port [private] |
Definition at line 69 of file InputPortSource.hpp.