1#ifndef __JLANG__JOBJECTMULTIPLEXER__
2#define __JLANG__JOBJECTMULTIPLEXER__
18namespace JPP {
using namespace JLANG; }
32 template<class JDerived_t, class JBase_t = typename JBaseClass<JDerived_t>::data_type>
107 template<
class JDerived_t,
class JBase_t>
123 template<
class JHead_t,
class JTail_t,
class JBase_t>
199 template<
class JHead_t,
class JTail_t,
class JBase_t>
207 template<
class JHead_t,
class JBase_t>
Auxiliary class to identify common base class in type list.
Interface of object iteration for a single data type.
virtual bool hasNext()=0
Check availability of next element.
virtual const pointer_type & next()=0
Get next element.
JObjectIterator< JHead_t > iterator_type
JValve< JHead_t > valve_type
JObjectMultiplexer(iterator_type &input, const valve_type &valve=valve_type())
Constructor.
JObjectIterator< JBase_t >::pointer_type pointer_type
JSinglePointer< JObjectMultiplexer< JHead_t, JBase_t > > multiplexer_type
JObjectIterator< JBase_t >::pointer_type pointer_type
static multiplexer_type multiplexer
virtual const pointer_type & next() override
Get next element.
JTypeList< JHead_t, JTail_t > typelist
friend void operator|(JObjectMultiplexer &in, JObjectOutput< JBase_t > &out)
Pipe operator.
virtual bool hasNext() override
Check availability of next element.
JSinglePointer< JObjectMultiplexer< typelist, JBase_t > > multiplexer_type
JValve< typelist > valve_type
JObjectMultiplexer(iterator_type &input, const valve_type &valve=valve_type())
Constructor.
JObjectIterator< typelist > iterator_type
Auxiliary class for multiplexing object iterators.
virtual bool hasNext() override
Check availability of next element.
JValve< JDerived_t > valve_type
JObjectMultiplexer(iterator_type &input, const valve_type &valve=valve_type())
Constructor.
friend void operator|(JObjectMultiplexer &in, JObjectOutput< JBase_t > &out)
Pipe operator.
virtual const pointer_type & next() override
Get next element.
JSinglePointer< JObjectMultiplexer< JDerived_t, JBase_t > > multiplexer_type
static multiplexer_type multiplexer
Multiplexer.
JObjectIterator< JBase_t >::pointer_type pointer_type
JObjectIterator< JDerived_t > iterator_type
Template interface of object output for single data type.
virtual void reset() override
Reset pointer.
The template JSinglePointer class can be used to hold a pointer to an object.
Auxiliary class for selection of data type.
bool is_open() const
Check if valve is open.
Auxiliary classes and methods for language specific functionality.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Auxiliary class for no type definition.