1#ifndef __JLANG__JOBJECTDEMULTIPLEXER__
2#define __JLANG__JOBJECTDEMULTIPLEXER__
15namespace JPP {
using namespace JLANG; }
29 template<
class JBase_t,
class JDerived_t>
49 virtual bool put(
const JBase_t&
object)
override
51 const JDerived_t* p =
dynamic_cast<const JDerived_t*
>(&object);
87 template<
class JBase_t,
class JHead_t,
class JTail_t>
111 virtual bool put(
const JBase_t&
object)
override
134 template<
class JBase_t,
class JHead_t>
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.
Template interface of object output for single data type.
virtual bool put(const T &object)=0
Object output.
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.
JObjectDemultiplexer(JObjectOutput< JHead_t > &output)
Constructor.
virtual bool put(const JBase_t &object) override
Object output.
friend void operator|(JObjectIterator< JBase_t > &in, JObjectDemultiplexer &out)
Pipe operator.
JObjectDemultiplexer(T &output)
Constructor.
Auxiliary class for demultiplexing object outputs.
virtual bool put(const JBase_t &object) override
Object output.
friend void operator|(JObjectIterator< JBase_t > &in, JObjectDemultiplexer &out)
Pipe operator.
JObjectOutput< JDerived_t > & out
JObjectDemultiplexer(JObjectOutput< JDerived_t > &output)
Constructor.