39 #ifndef ORO_CHANNEL_ELEMENT_HPP 40 #define ORO_CHANNEL_ELEMENT_HPP 42 #include <boost/intrusive_ptr.hpp> 43 #include <boost/call_traits.hpp> 45 #include "../FlowStatus.hpp" 47 namespace RTT {
namespace base {
58 typedef boost::intrusive_ptr< ChannelElement<T> >
shared_ptr;
59 typedef typename boost::call_traits<T>::param_type
param_t;
60 typedef typename boost::call_traits<T>::reference
reference_t;
107 return output->
write(sample);
120 return input->
read(sample, copy_old_data);
boost::call_traits< T >::param_type param_t
boost::intrusive_ptr< ChannelElement< T > > shared_ptr
FlowStatus
Returns the status of a data flow read.
virtual FlowStatus read(reference_t sample, bool copy_old_data)
Reads a sample from the connection.
virtual bool write(param_t sample)
Writes a new sample on this connection.
ChannelElementBase::shared_ptr getInput()
Returns the current input channel element.
A typed version of ChannelElementBase.
boost::call_traits< T >::reference reference_t
virtual value_t data_sample()
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.
In the data flow implementation, a channel is created by chaining ChannelElementBase objects...
ChannelElementBase::shared_ptr getOutput()
Returns the next channel element in the channel's propagation direction.
virtual bool data_sample(param_t sample)
Provides a data sample to initialize this connection.