#include <InputPortSource.hpp>
Public Types | |
typedef boost::intrusive_ptr < InputPortSource< T > > | shared_ptr |
typedef boost::intrusive_ptr < InputPortSource< T > > | shared_ptr |
Public Member Functions | |
DataSource< T > * | clone () const |
DataSource< T > * | clone () const |
DataSource< T > * | copy (std::map< const base::DataSourceBase *, base::DataSourceBase * > &alreadyCloned) const |
DataSource< T > * | copy (std::map< const base::DataSourceBase *, base::DataSourceBase * > &alreadyCloned) const |
void | dropPort () |
void | dropPort () |
bool | evaluate () const |
bool | evaluate () const |
DataSource< T >::result_t | get () const |
DataSource< T >::result_t | get () const |
InputPortSource (InputPort< T > &port) | |
InputPortSource (InputPort< T > &port) | |
void | reset () |
void | reset () |
DataSource< T >::const_reference_t | rvalue () const |
DataSource< T >::const_reference_t | rvalue () const |
DataSource< T >::result_t | value () const |
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 62 of file install/include/rtt/internal/InputPortSource.hpp.
typedef boost::intrusive_ptr<InputPortSource<T> > RTT::internal::InputPortSource< T >::shared_ptr |
Use this type to store a pointer to a DataSourceBase.
Reimplemented from RTT::internal::DataSource< T >.
Definition at line 68 of file rtt/internal/InputPortSource.hpp.
typedef boost::intrusive_ptr<InputPortSource<T> > RTT::internal::InputPortSource< T >::shared_ptr |
Use this type to store a pointer to a DataSourceBase.
Reimplemented from RTT::internal::DataSource< T >.
Definition at line 68 of file install/include/rtt/internal/InputPortSource.hpp.
RTT::internal::InputPortSource< T >::InputPortSource | ( | InputPort< T > & | port | ) | [inline] |
Definition at line 70 of file install/include/rtt/internal/InputPortSource.hpp.
RTT::internal::InputPortSource< T >::InputPortSource | ( | InputPort< T > & | port | ) | [inline] |
Definition at line 70 of file rtt/internal/InputPortSource.hpp.
DataSource<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::DataSource< T >.
Definition at line 100 of file rtt/internal/InputPortSource.hpp.
DataSource<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::DataSource< T >.
Definition at line 100 of file install/include/rtt/internal/InputPortSource.hpp.
DataSource<T>* RTT::internal::InputPortSource< T >::copy | ( | std::map< const base::DataSourceBase *, base::DataSourceBase * > & | alreadyCloned | ) | const [inline, virtual] |
Implements RTT::internal::DataSource< T >.
Definition at line 102 of file rtt/internal/InputPortSource.hpp.
DataSource<T>* RTT::internal::InputPortSource< T >::copy | ( | std::map< const base::DataSourceBase *, base::DataSourceBase * > & | alreadyCloned | ) | const [inline, virtual] |
Implements RTT::internal::DataSource< T >.
Definition at line 102 of file install/include/rtt/internal/InputPortSource.hpp.
void RTT::internal::InputPortSource< T >::dropPort | ( | ) | [inline] |
Called by owner port to notify that it is being destructed. Since this InputPortSource is refcounted, we need a way to tell it that the port no longer exists.
Definition at line 79 of file rtt/internal/InputPortSource.hpp.
void RTT::internal::InputPortSource< T >::dropPort | ( | ) | [inline] |
Called by owner port to notify that it is being destructed. Since this InputPortSource is refcounted, we need a way to tell it that the port no longer exists.
Definition at line 79 of file install/include/rtt/internal/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 84 of file rtt/internal/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 84 of file install/include/rtt/internal/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 93 of file rtt/internal/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 93 of file install/include/rtt/internal/InputPortSource.hpp.
void RTT::internal::InputPortSource< T >::reset | ( | ) | [inline, virtual] |
Reset the data to initial values.
Reimplemented from RTT::base::DataSourceBase.
Definition at line 83 of file rtt/internal/InputPortSource.hpp.
void RTT::internal::InputPortSource< T >::reset | ( | ) | [inline, virtual] |
Reset the data to initial values.
Reimplemented from RTT::base::DataSourceBase.
Definition at line 83 of file install/include/rtt/internal/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 91 of file rtt/internal/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 91 of file install/include/rtt/internal/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 89 of file rtt/internal/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 89 of file install/include/rtt/internal/InputPortSource.hpp.
T RTT::internal::InputPortSource< T >::mvalue [mutable, private] |
Definition at line 65 of file install/include/rtt/internal/InputPortSource.hpp.
InputPort< T > * RTT::internal::InputPortSource< T >::port [private] |
Definition at line 64 of file install/include/rtt/internal/InputPortSource.hpp.