#include <chain.hh>
Public Member Functions | |
Link (const ChainPosition &position) | |
Link () | |
void | Init (const ChainPosition &position) |
~Link () | |
Block & | operator* () |
const Block & | operator* () const |
Block * | operator-> () |
const Block * | operator-> () const |
Link & | operator++ () |
operator bool () const | |
void | Poison () |
Definition at line 252 of file chain.hh.
util::stream::Link::Link | ( | const ChainPosition & | position | ) | [explicit] |
Constructs an initialized link.
Definition at line 121 of file chain.cc.
References Init().
util::stream::Link::Link | ( | ) |
util::stream::Link::~Link | ( | ) |
Destructs the link object.
If necessary, this method will pass a poison block to this link's output producer queue.
Definition at line 125 of file chain.cc.
References util::PCQueue< T >::Produce().
void util::stream::Link::Init | ( | const ChainPosition & | position | ) |
Initializes the link with the input consumer queue and output producer queue at a given position in the chain.
Definition at line 112 of file chain.cc.
References util::PCQueue< T >::Consume(), and UTIL_THROW_IF.
Referenced by util::stream::Stream::Init(), Link(), and util::stream::operator>>().
util::stream::Link::operator bool | ( | ) | const [inline] |
Returns true if the block at this link encapsulates a valid (non-NULL) block of memory.
This method is a user-defined implicit conversion function to boolean; among other things, this method enables bare instances of this class to be used as the condition of an if statement.
const Block& util::stream::Link::operator* | ( | ) | const [inline] |
Block& util::stream::Link::operator* | ( | ) | [inline] |
Link & util::stream::Link::operator++ | ( | ) |
Gets the link at the next position in the chain.
Definition at line 143 of file chain.cc.
References util::PCQueue< T >::Consume(), util::PCQueue< T >::Produce(), and util::stream::Block::ValidSize().
const Block* util::stream::Link::operator-> | ( | ) | const [inline] |
Block* util::stream::Link::operator-> | ( | ) | [inline] |
void util::stream::Link::Poison | ( | ) |
Poisons the block at this link, and passes this now-poisoned block to this link's output producer queue.
Definition at line 155 of file chain.cc.
References util::PCQueue< T >::Produce().
Referenced by util::stream::Stream::Poison(), util::stream::MergingReader< Compare, Combine >::Run(), and util::stream::PRead::Run().