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. 
 
esac print_variable DETECTOR INPUT_FILE OUTPUT_FILE CDF for TYPE in
 
friend void operator|(JObjectIterator< JBase_t > &in, JObjectDemultiplexer &out)
Pipe operator. 
 
virtual const pointer_type & next()=0
Get next element. 
 
do set_variable OUTPUT_DIRECTORY $WORKDIR T
 
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.