1 #ifndef __JLANG__JOBJECTDEMULTIPLEXER__
2 #define __JLANG__JOBJECTDEMULTIPLEXER__
15 namespace JPP {
using namespace JLANG; }
29 template<
class JBase_t,
class JDerived_t>
49 virtual bool put(
const JBase_t&
object)
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)
134 template<
class JBase_t,
class JHead_t>
JObjectDemultiplexer(JObjectOutput< JHead_t > &output)
Constructor.
friend void operator|(JObjectIterator< JBase_t > &in, JObjectDemultiplexer &out)
Pipe operator.
virtual const pointer_type & next()=0
Get next element.
Auxiliary class for no type definition.
virtual bool hasNext()=0
Check availability of next element.
JObjectDemultiplexer(JObjectOutput< JDerived_t > &output)
Constructor.
virtual bool put(const JBase_t &object)
Object output.
Auxiliary class for demultiplexing object outputs.
JObjectOutput< JDerived_t > & out
virtual bool put(const JBase_t &object)
Object output.
Forward declarations for definitions of I/O redirect and pipe operators.
virtual bool put(const T &object)=0
Object output.
friend void operator|(JObjectIterator< JBase_t > &in, JObjectDemultiplexer &out)
Pipe operator.
JObjectDemultiplexer(T &output)
Constructor.