1 #ifndef __JLANG__JPIPE__
2 #define __JLANG__JPIPE__
69 if (
valve.is_open()) {
71 while (
in.hasNext()) {
142 template<
class JHead_t,
class JTail_t>
144 public JPipe<JHead_t>,
145 public JPipe<JTail_t>,
163 JPipe<JHead_t>(input, valve, selector, regulator),
164 JPipe<JTail_t>(input, valve, selector, regulator)
172 template<
class JHead_t>
174 public JPipe<JHead_t>
188 JPipe<JHead_t>(input, valve, selector, regulator)
196 template<
class T,
int N>
258 JPipe<T>(input, valve, selector, regulator)
326 template<
class JBase_t>
341 template<
class T,
int N>
const JObjectSelector< T > & selector
JPipe(JObjectIterator< T > &input, const JValve< T > &valve, const JObjectSelector< T > &selector, const JRegulator ®ulator)
Constructor.
const JRegulator & regulator
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.
JObjectIterator< T > & in
JMultiPipe(JObjectIterator< T > &input, const JRegulator ®ulator)
Constructor.
unsigned int skip_type
Type definition for number of objects to skip.
JMultiPipe(JObjectIterator< T > &input, const JValve< T > &valve, const JObjectSelector< T > &selector, const JRegulator ®ulator)
Constructor.
JObjectIterator< T >::pointer_type pointer_type
Auxiliary class for a type holder.
Interface of object iteration for a single data type.
Auxiliary class for multiplexing object iterators.
bool is_valid() const
Check validity of pointer.
Auxiliary class for selection of data type.
Auxiliary class for object iteration via pipe (i.e. operator |).
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.
The template JSinglePointer class can be used to hold a pointer to an object.
Interface for selection of objects.
virtual void reset()
Reset pointer.
Interface for controlling object throughput.
virtual skip_type skip(const skip_type ns)
Skip items.
virtual const pointer_type & next()
Get next element.
const JValve< T > & valve
Auxiliary class for no type definition.
JPipe(JObjectIterator< typelist > &input, const JValve< typelist > &valve, const JObjectSelector< typelist > &selector, const JRegulator ®ulator)
Constructor.
JTypeList< JHead_t, JTail_t > typelist
JPipe(JObjectIterator< JHead_t > &input, const JValve< JHead_t > &valve, const JObjectSelector< JHead_t > &selector, const JRegulator ®ulator)
Constructor.
friend void operator|(JMultiPipe &left, JObjectOutput< T > &right)
Pipe terminator.
virtual bool accept() const
Accept.
JMultiPipe(JObjectIterator< T > &input)
Constructor.
Forward declarations for definitions of I/O redirect and pipe operators.
friend JMultiPipe< T, N+1 > & operator|(JMultiPipe &left, const JValve< T > &right)
Recursive expansion of multi-pipe.
virtual bool hasNext()
Check availability of next element.
JMultiPipe(JObjectIterator< T > &input, const JValve< T > &valve)
Constructor.
friend JMultiPipe< T, N+1 > & operator|(JMultiPipe &left, const JObjectSelector< T > &right)
Recursive expansion of multi-pipe.
JMultiPipe(JObjectIterator< T > &input, const JObjectSelector< T > &selector)
Constructor.