Public Types | Public Member Functions
hpcl_rtt::ChannelElement< T > Class Template Reference

#include <channel_element.hpp>

Inheritance diagram for hpcl_rtt::ChannelElement< T >:
Inheritance graph
[legend]

List of all members.

Public Types

typedef boost::call_traits< T >
::param_type 
param_t
typedef boost::call_traits< T >
::reference 
reference_t
typedef boost::intrusive_ptr
< ChannelElement< T > > 
shared_ptr
typedef T value_t

Public Member Functions

virtual bool data_sample (param_t sample)
virtual value_t data_sample ()
shared_ptr getInput ()
shared_ptr getOutput ()
virtual FlowStatus read (reference_t sample, bool copy_old_data)
virtual bool write (param_t sample)

Detailed Description

template<typename T>
class hpcl_rtt::ChannelElement< T >

A typed version of ChannelElementBase. It defines generic methods that are type-specific (like write and read)

Definition at line 16 of file channel_element.hpp.


Member Typedef Documentation

template<typename T>
typedef boost::call_traits<T>::param_type hpcl_rtt::ChannelElement< T >::param_t

Reimplemented in hpcl_rtt::ChannelDataElement< T >.

Definition at line 21 of file channel_element.hpp.

template<typename T>
typedef boost::call_traits<T>::reference hpcl_rtt::ChannelElement< T >::reference_t

Reimplemented in hpcl_rtt::ChannelDataElement< T >.

Definition at line 22 of file channel_element.hpp.

template<typename T>
typedef boost::intrusive_ptr< ChannelElement<T> > hpcl_rtt::ChannelElement< T >::shared_ptr

Reimplemented from hpcl_rtt::ChannelElementBase.

Definition at line 20 of file channel_element.hpp.

template<typename T>
typedef T hpcl_rtt::ChannelElement< T >::value_t

Definition at line 19 of file channel_element.hpp.


Member Function Documentation

template<typename T>
virtual bool hpcl_rtt::ChannelElement< T >::data_sample ( param_t  sample) [inline, virtual]

Provides a data sample to initialize this connection. This is used before the first write() in order to inform this connection of the size of the data. As such enough storage space can be allocated before the actual writing begins.

Returns:
false if an error occured that requires the channel to be invalidated.

Reimplemented in hpcl_rtt::ChannelDataElement< T >.

Definition at line 42 of file channel_element.hpp.

template<typename T>
virtual value_t hpcl_rtt::ChannelElement< T >::data_sample ( ) [inline, virtual]

Reimplemented in hpcl_rtt::ChannelDataElement< T >.

Definition at line 52 of file channel_element.hpp.

template<typename T>
shared_ptr hpcl_rtt::ChannelElement< T >::getInput ( ) [inline]

Returns the current input channel element. This will only return a valid channel element if another element has received this object as an argument to setOutput().

Returns:

Reimplemented from hpcl_rtt::ChannelElementBase.

Definition at line 29 of file channel_element.hpp.

template<typename T>
shared_ptr hpcl_rtt::ChannelElement< T >::getOutput ( ) [inline]

Returns the next channel element in the channel's propagation direction

Reimplemented from hpcl_rtt::ChannelElementBase.

Definition at line 24 of file channel_element.hpp.

template<typename T>
virtual FlowStatus hpcl_rtt::ChannelElement< T >::read ( reference_t  sample,
bool  copy_old_data 
) [inline, virtual]

Reads a sample from the connection. sample is a reference which will get updated if a sample is available. The method returns true if a sample was available, and false otherwise. If false is returned, then sample is not modified by the method

Reimplemented in hpcl_rtt::ChannelDataElement< T >.

Definition at line 82 of file channel_element.hpp.

template<typename T>
virtual bool hpcl_rtt::ChannelElement< T >::write ( param_t  sample) [inline, virtual]

Writes a new sample on this connection. sample is the sample to write.

Returns:
false if an error occured that requires the channel to be invalidated. In no ways it indicates that the sample has been received by the other side of the channel.

Reimplemented in hpcl_rtt::ChannelDataElement< T >.

Definition at line 67 of file channel_element.hpp.


The documentation for this class was generated from the following file:


hpcl_rtt
Author(s): sukha
autogenerated on Thu Aug 27 2015 16:43:53