RTT::internal::InputPortSource< T > Class Template Reference

#include <InputPortSource.hpp>

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

List of all members.

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

mvalue
InputPort< T > * port

Detailed Description

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

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.


Member Typedef Documentation

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

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


Constructor & Destructor Documentation

template<typename T>
RTT::internal::InputPortSource< T >::InputPortSource ( InputPort< T > &  port  )  [inline]
template<typename T>
RTT::internal::InputPortSource< T >::InputPortSource ( InputPort< T > &  port  )  [inline]

Definition at line 70 of file rtt/internal/InputPortSource.hpp.


Member Function Documentation

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

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

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

template<typename T>
DataSource<T>* RTT::internal::InputPortSource< T >::copy ( std::map< const base::DataSourceBase *, base::DataSourceBase * > &  alreadyCloned  )  const [inline, virtual]
template<typename T>
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.

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

template<typename T>
bool RTT::internal::InputPortSource< T >::evaluate (  )  const [inline, virtual]

Force an evaluation of the DataSourceBase.

Returns:
true on successful evaluation.

Reimplemented from RTT::internal::DataSource< T >.

Definition at line 84 of file rtt/internal/InputPortSource.hpp.

template<typename T>
bool RTT::internal::InputPortSource< T >::evaluate (  )  const [inline, virtual]

Force an evaluation of the DataSourceBase.

Returns:
true on successful evaluation.

Reimplemented from RTT::internal::DataSource< T >.

Definition at line 84 of file install/include/rtt/internal/InputPortSource.hpp.

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

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

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

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

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

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

Implements RTT::internal::DataSource< T >.

Definition at line 91 of file rtt/internal/InputPortSource.hpp.

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

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

Implements RTT::internal::DataSource< T >.

Definition at line 91 of file install/include/rtt/internal/InputPortSource.hpp.

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

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


Member Data Documentation

template<typename T>
T RTT::internal::InputPortSource< T >::mvalue [mutable, private]
template<typename T>
InputPort< T > * RTT::internal::InputPortSource< T >::port [private]

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


rtt
Author(s): RTT Developers
autogenerated on Fri Jan 11 09:50:01 2013