1#ifndef __JLANG__JPIPE__
2#define __JLANG__JPIPE__
72 if (
valve.is_open()) {
74 while (
in.hasNext()) {
145 template<
class JHead_t,
class JTail_t>
147 public JPipe<JHead_t>,
148 public JPipe<JTail_t>,
175 template<
class JHead_t>
177 public JPipe<JHead_t>
203 template<
class T,
int N>
334 template<
class JBase_t>
349 template<
class T,
int N>
bool is_valid() const
Check validity of pointer.
Auxiliary class for object iteration via multiple pipes, e.g. operator:
friend JObjectMultiplexer< T, JBase_t > & operator|(JMultiPipe &left, const JType< JBase_t > &right)
Pipe operator for multiplexing.
JMultiPipe(JObjectIterator< T > &input)
Constructor.
JMultiPipe(JObjectIterator< T > &input, const JValve< T > &valve)
Constructor.
JMultiPipe(JObjectIterator< T > &input, const JRegulator ®ulator)
Constructor.
JMultiPipe(JObjectIterator< T > &input, const JValve< T > &valve, const JObjectSelector< T > &selector, const JRegulator ®ulator)
Constructor.
friend JMultiPipe< T, N+1 > & operator|(JMultiPipe &left, const JValve< T > &right)
Recursive expansion of multi-pipe.
friend JMultiPipe< T, N+1 > & operator|(JMultiPipe &left, const JObjectSelector< T > &right)
Recursive expansion of multi-pipe.
static JSinglePointer< JMultiPipe< T, N > > pipe
Declaration of common pipe.
friend JMultiPipe< T, N+1 > & operator|(JMultiPipe &left, const JRegulator &right)
Recursive expansion of multi-pipe.
JMultiPipe(JObjectIterator< T > &input, const JObjectSelector< T > &selector)
Constructor.
friend void operator|(JMultiPipe &left, JObjectOutput< T > &right)
Pipe terminator.
Interface of object iteration for a single data type.
Auxiliary class for multiplexing object iterators.
Template interface of object output for single data type.
Interface for selection of objects.
JPipe(JObjectIterator< JHead_t > &input, const JValve< JHead_t > &valve, const JObjectSelector< JHead_t > &selector, const JRegulator ®ulator)
Constructor.
JTypeList< JHead_t, JTail_t > typelist
JPipe(JObjectIterator< typelist > &input, const JValve< typelist > &valve, const JObjectSelector< typelist > &selector, const JRegulator ®ulator)
Constructor.
Auxiliary class for object iteration via pipe, i.e. operator:
JObjectIterator< T > & in
virtual skip_type skip(const skip_type ns) override
Skip items.
JPipe(JObjectIterator< T > &input, const JValve< T > &valve, const JObjectSelector< T > &selector, const JRegulator ®ulator)
Constructor.
const JRegulator & regulator
virtual const pointer_type & next() override
Get next element.
const JObjectSelector< T > & selector
JObjectIterator< T >::pointer_type pointer_type
virtual bool hasNext() override
Check availability of next element.
const JValve< T > & valve
virtual void reset() override
Reset pointer.
Interface for controlling object throughput.
virtual bool accept() const
Accept.
The template JSinglePointer class can be used to hold a pointer to an object.
Auxiliary class for selection of data type.
Auxiliary classes and methods for language specific functionality.
unsigned int skip_type
Type definition for number of objects to skip.
Auxiliary class for no type definition.
Auxiliary class for a type holder.