1 #ifndef __JLANG__JOBJECTMULTIPLEXER__
2 #define __JLANG__JOBJECTMULTIPLEXER__
18 namespace JPP {
using namespace JLANG; }
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 const pointer_type & next()=0
Get next element.
virtual bool hasNext()=0
Check availability of next element.
JObjectIterator< JHead_t > iterator_type
JSinglePointer< JObjectMultiplexer< JHead_t, JBase_t > > multiplexer_type
JValve< JHead_t > valve_type
JObjectIterator< JBase_t >::pointer_type pointer_type
JObjectMultiplexer(iterator_type &input, const valve_type &valve=valve_type())
Constructor.
static multiplexer_type multiplexer
Multiplexer.
friend void operator|(JObjectMultiplexer &in, JObjectOutput< JBase_t > &out)
Pipe operator.
JValve< typelist > valve_type
JObjectIterator< JBase_t >::pointer_type pointer_type
JObjectIterator< typelist > iterator_type
JTypeList< JHead_t, JTail_t > typelist
virtual bool hasNext() override
Check availability of next element.
virtual const pointer_type & next() override
Get next element.
JObjectMultiplexer(iterator_type &input, const valve_type &valve=valve_type())
Constructor.
JSinglePointer< JObjectMultiplexer< typelist, JBase_t > > multiplexer_type
Auxiliary class for multiplexing object iterators.
virtual bool hasNext() override
Check availability of next element.
JSinglePointer< JObjectMultiplexer< JDerived_t, JBase_t > > multiplexer_type
JObjectIterator< JBase_t >::pointer_type pointer_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.
static multiplexer_type multiplexer
Multiplexer.
JValve< JDerived_t > valve_type
JObjectIterator< JDerived_t > iterator_type
The template JSinglePointer class can be used to hold a pointer to an object.
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).
std::vector< event_type > data_type
Auxiliary class for no type definition.