Jpp
18.5.2
the software that should make you happy
|
Auxiliary class for multiplexing object iterators. More...
#include <JObjectIterator.hh>
Public Types | |
typedef JObjectIterator < JDerived_t > | iterator_type |
typedef JObjectIterator < JBase_t >::pointer_type | pointer_type |
typedef JSinglePointer < JObjectMultiplexer < JDerived_t, JBase_t > > | multiplexer_type |
typedef JValve< JDerived_t > | valve_type |
Public Member Functions | |
JObjectMultiplexer (iterator_type &input, const valve_type &valve=valve_type()) | |
Constructor. More... | |
virtual bool | hasNext () override |
Check availability of next element. More... | |
virtual const pointer_type & | next () override |
Get next element. More... | |
virtual skip_type | skip (const skip_type ns) |
Skip items. More... | |
Public Attributes | |
valve_type | valve |
Static Public Attributes | |
static multiplexer_type | multiplexer |
Multiplexer. More... | |
Private Attributes | |
iterator_type & | in |
pointer_type | ps |
Friends | |
void | operator| (JObjectMultiplexer &in, JObjectOutput< JBase_t > &out) |
Pipe operator. More... | |
Auxiliary class for multiplexing object iterators.
The template argument JDerived_t
refers to a list of multiple object iterators which are sequentially processed.
The template argument JBase_t
refers to a single object iterator which provides for a common interface to the multiple object iterators.
This class implements the JLANG::JObjectIterator interface.
Definition at line 37 of file JObjectIterator.hh.
typedef JObjectIterator<JDerived_t> JLANG::JObjectMultiplexer< JDerived_t, JBase_t >::iterator_type |
Definition at line 38 of file JObjectMultiplexer.hh.
typedef JObjectIterator<JBase_t>::pointer_type JLANG::JObjectMultiplexer< JDerived_t, JBase_t >::pointer_type |
Definition at line 39 of file JObjectMultiplexer.hh.
typedef JSinglePointer< JObjectMultiplexer<JDerived_t, JBase_t> > JLANG::JObjectMultiplexer< JDerived_t, JBase_t >::multiplexer_type |
Definition at line 40 of file JObjectMultiplexer.hh.
typedef JValve<JDerived_t> JLANG::JObjectMultiplexer< JDerived_t, JBase_t >::valve_type |
Definition at line 41 of file JObjectMultiplexer.hh.
|
inline |
Constructor.
input | object iterator |
valve | valve |
Definition at line 50 of file JObjectMultiplexer.hh.
|
inlineoverridevirtual |
Check availability of next element.
Implements JLANG::JObjectIterator< JBase_t >.
Reimplemented in JLANG::JObjectMultiplexer< JTypeList< JHead_t, JTail_t >, JBase_t >.
Definition at line 62 of file JObjectMultiplexer.hh.
|
inlineoverridevirtual |
Get next element.
Implements JLANG::JObjectIterator< JBase_t >.
Reimplemented in JLANG::JObjectMultiplexer< JTypeList< JHead_t, JTail_t >, JBase_t >.
Definition at line 76 of file JObjectMultiplexer.hh.
|
inlinevirtualinherited |
Skip items.
ns | number of items to skip |
Definition at line 90 of file JObjectIterator.hh.
|
friend |
Pipe operator.
in | object multiplexer |
out | object output |
Definition at line 90 of file JObjectMultiplexer.hh.
valve_type JLANG::JObjectMultiplexer< JDerived_t, JBase_t >::valve |
Definition at line 95 of file JObjectMultiplexer.hh.
|
static |
Multiplexer.
Definition at line 97 of file JObjectMultiplexer.hh.
|
private |
Definition at line 100 of file JObjectMultiplexer.hh.
|
private |
Definition at line 101 of file JObjectMultiplexer.hh.