#include <rtt/BufferPort.hpp>
Inheritance diagram for BufferPort:

Use connection() to access the buffer. If the port is not connected, connection() returns null.
| T | The type of the data of the buffer. |
Public Types | |
| typedef PortInterface::PortType | PortType |
| This enum classifies if a port is inbound outbound or both. | |
Public Member Functions | |
| BufferPort (const std::string &name, size_t prefered_size, const T &initial_value=T()) | |
| Construct an unconnected Port to a writeable buffer. | |
| void | clear () |
| Clears all contents of this buffer. | |
| BufferBase::size_type | size () const |
| Returns the actual number of items that are stored in the buffer. | |
| BufferBase::size_type | capacity () const |
| Returns the maximum number of items that can be stored in the buffer. | |
| bool | empty () const |
| Check if this buffer is empty. | |
| bool | full () const |
| Check if this buffer is full. | |
| bool | connected () const |
| Inspect if this Port is currently connected with another Port. | |
| bool | connect (typename BufferConnectionInterface< T >::shared_ptr conn) |
| Connect a writeable buffer to this Port. | |
| virtual bool | connect (typename WriteConnectionInterface< T >::shared_ptr conn) |
| Connect a writeable buffer to this Port. | |
| virtual bool | connect (typename ReadConnectionInterface< T >::shared_ptr conn) |
| Connect a readable buffer to this Port. | |
| bool | connectTo (ConnectionInterface::shared_ptr other) |
| Connect this port to a Connection. | |
| void | disconnect () |
| No longer participate in a connection. | |
| virtual BufferInterface< T > * | buffer () const |
| Get the buffer to write from. | |
| virtual ConnectionInterface::shared_ptr | connection () const |
| Returns the connection in which this Port currently participates. | |
| virtual PortType | getPortType () const |
| Get the PortType of this port. | |
| BufferPort & | operator= (BufferInterface< T > *impl) |
| Provide a new implementation for the connection of this port. | |
| virtual PortInterface * | clone () const |
| Create a clone of this port with the same name. | |
| virtual PortInterface * | antiClone () const |
| The anti-Clone of a ReadBufferPort is a WriteBufferPort with prefered buffer size '1'. | |
| virtual TaskObject * | createPortObject () |
| Create accessor Object for this Port, for addition to a TaskContext Object interface. | |
| void | setBufferSize (size_t b_size) |
| Set the prefered buffersize before this port is connected. | |
| bool | Push (const T &data) |
| Push a value into the buffer of this Port's connection. | |
| void | Set (const T &data) |
| Set the initial value of the port's connection. | |
| virtual bool | connectTo (PortInterface *other) |
| Connect to another Port and create a new connection if necessary. | |
| virtual WriteInterface< T > * | write () const |
| Get the buffer to write to. | |
| ConnectionInterface::shared_ptr | createConnection (PortInterface *other, ConnectionTypes::ConnectionType con_type=ConnectionTypes::lockfree) |
| Create a connection object from this port to another port. | |
| ConnectionInterface::shared_ptr | createConnection (ConnectionTypes::ConnectionType con_type=ConnectionTypes::lockfree) |
| Create a new connection object to which this port is subscribed. | |
| const std::string & | getName () const |
| Get the name of this Port. | |
| bool | setName (const std::string &name) |
| Change the name of this unconnected Port. | |
| bool | ready () const |
| Returns true if this Port is ready to be used. | |
| bool | Pop (T &data) |
| Pop a value from the buffer of this Port's connection. | |
| T | front () const |
| Get the next value to be Pop()'ed, or the default value if empty. | |
| virtual ReadInterface< T > * | read () const |
| Get the buffer to read from. | |
Protected Attributes | |
|
BufferConnectionInterface< T >::shared_ptr | mconn |
| The buffer to write from. | |
| size_t | buf_size |
| T | minitial_value |
| std::string | portname |
| BufferPort | ( | const std::string & | name, | |
| size_t | prefered_size, | |||
| const T & | initial_value = T() | |||
| ) | [inline] |
Construct an unconnected Port to a writeable buffer.
| name | The name of this port. |
| BufferBase::size_type size | ( | ) | const [inline] |
Returns the actual number of items that are stored in the buffer.
Reimplemented from ReadBufferPort.
| BufferBase::size_type capacity | ( | ) | const [inline] |
Returns the maximum number of items that can be stored in the buffer.
Reimplemented from ReadBufferPort.
| bool empty | ( | ) | const [inline] |
| bool full | ( | ) | const [inline] |
Check if this buffer is full.
Reimplemented from ReadBufferPort.
| bool connectTo | ( | ConnectionInterface::shared_ptr | other | ) | [inline, virtual] |
Connect this port to a Connection.
If the connection is in the connected() state, this port will participate in that connection, otherwise, the port will become connected once conn becomes connected().
Reimplemented from ReadBufferPort.
| virtual BufferInterface<T>* buffer | ( | ) | const [inline, virtual] |
Get the buffer to write from.
| virtual ConnectionInterface::shared_ptr connection | ( | ) | const [inline, virtual] |
Returns the connection in which this Port currently participates.
It is possible that this port is part of a dormant connection, ( the connection object is not in the connected() state), in that case this method will return null, until the dormant connection becomes connected().
| null | if not connected to another Port. |
Reimplemented from ReadBufferPort.
| BufferPort< T > & operator= | ( | BufferInterface< T > * | impl | ) |
Provide a new implementation for the connection of this port.
If this port is not connected, a new connection is created.
Reimplemented from ReadBufferPort.
| void setBufferSize | ( | size_t | b_size | ) | [inline, inherited] |
Set the prefered buffersize before this port is connected.
If this->connected(), this value has no effect.
| bool Push | ( | const T & | data | ) | [inline, inherited] |
Push a value into the buffer of this Port's connection.
| data | The data to push. |
| this->read()->Push(data) | if this->connected() | |
| false | if !this->connected() |
| void Set | ( | const T & | data | ) | [inline, inherited] |
Set the initial value of the port's connection.
This value is only used when the connection is created. If this port is connected to an existing connection, the value is ignored.
| virtual bool connectTo | ( | PortInterface * | other | ) | [virtual, inherited] |
Connect to another Port and create a new connection if necessary.
| virtual WriteInterface<T>* write | ( | ) | const [inline, virtual, inherited] |
Get the buffer to write to.
| bool setName | ( | const std::string & | name | ) | [inherited] |
Change the name of this unconnected Port.
One can only change the name when it is not yet connected.
| true | if !this->connected(), the name has changed. | |
| false | if this->connected(), the name has not been changed. |
| bool ready | ( | ) | const [inherited] |
Returns true if this Port is ready to be used.
Identical to connected().
| bool Pop | ( | T & | data | ) | [inline, inherited] |
Pop a value from the buffer of this Port's connection.
| data | The location where to store the popped value. |
| this->read()->Pop(data) | if this->connected() | |
| false | if !this->connected() |
| virtual ReadInterface<T>* read | ( | ) | const [inline, virtual, inherited] |
Get the buffer to read from.
The Task may use this to read from a Buffer connected to this port.
1.5.1