Jpp  18.0.0-rc.1
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Protected Member Functions | Friends | List of all members
JLANG::JObjectIterator< T > Class Template Referenceabstract

Interface of object iteration for a single data type. More...

#include <JObjectIterator.hh>

Inheritance diagram for JLANG::JObjectIterator< T >:
JDATABASE::JDatabaseObjectIterator< JTypeList< JHead_t, JTail_t > > JLANG::JAbstractObjectIterator< T > JLANG::JAbstractObjectReader< T > JLANG::JAccessibleObjectIterator< T > JLANG::JNullIterator< T > JLANG::JObjectReader< T > JLANG::JObjectSampler< T, JSampler_t > JLANG::JPipe< T > JLANG::JRewindableObjectIterator< T >

Public Types

typedef JPointer< Tpointer_type
 Type definition of pointer_type. More...
 

Public Member Functions

virtual ~JObjectIterator ()
 Virtual destructor. More...
 
virtual bool hasNext ()=0
 Check availability of next element. More...
 
virtual const pointer_typenext ()=0
 Get next element. More...
 
virtual skip_type skip (const skip_type ns)
 Skip items. More...
 

Protected Member Functions

 JObjectIterator ()
 Default constructor. More...
 

Friends

JObjectIterator< T > & operator>> (JObjectIterator< T > &in, JObjectOutput< T > &out)
 Copy to object output. More...
 
void operator| (JObjectIterator< T > &left, JObjectOutput< T > &right)
 Pipe terminator. More...
 
JMultiPipe< T, 0 > & operator| (JObjectIterator< T > &left, const JValve< T > &right)
 Pipe operator. More...
 
JMultiPipe< T, 0 > & operator| (JObjectIterator< T > &left, const JObjectSelector< T > &right)
 Pipe operator. More...
 
JMultiPipe< T, 0 > & operator| (JObjectIterator< T > &left, const JRegulator &right)
 Pipe operator. More...
 
template<class JBase_t >
JObjectMultiplexer< T, JBase_t > & operator| (JObjectIterator< T > &left, const JType< JBase_t > &right)
 Pipe operator. More...
 

Detailed Description

template<class T>
class JLANG::JObjectIterator< T >

Interface of object iteration for a single data type.

Definition at line 45 of file JObjectIterator.hh.

Member Typedef Documentation

template<class T>
typedef JPointer<T> JLANG::JObjectIterator< T >::pointer_type

Type definition of pointer_type.

Definition at line 58 of file JObjectIterator.hh.

Constructor & Destructor Documentation

template<class T>
JLANG::JObjectIterator< T >::JObjectIterator ( )
inlineprotected

Default constructor.

Definition at line 50 of file JObjectIterator.hh.

51  {}
template<class T>
virtual JLANG::JObjectIterator< T >::~JObjectIterator ( )
inlinevirtual

Virtual destructor.

Definition at line 64 of file JObjectIterator.hh.

65  {}

Member Function Documentation

template<class T>
virtual bool JLANG::JObjectIterator< T >::hasNext ( )
pure virtual

Check availability of next element.

Returns
true if the iteration has more elements; else false

Implemented in JSUPPORT::JMultipleFileScanner< T >, JSUPPORT::JMultipleFileScanner<>, JSUPPORT::JMultipleFileScanner< JTail_t >, JSUPPORT::JMultipleFileScanner< JHead_t >, JSUPPORT::JMultipleFileScanner< KM3NETDAQ::KM3NETDAQ::JDAQEvent >, JSUPPORT::JMultipleFileScanner< JDAQSummaryslice >, JLANG::JNullIterator< T >, JSUPPORT::JSingleFileScanner< T >, JSUPPORT::JSingleFileScanner<>, JSUPPORT::JSingleFileScanner< JTail_t >, JSUPPORT::JSingleFileScanner< JHead_t >, JLANG::JObjectMultiplexer< JTypeList< JHead_t, JTail_t >, JBase_t >, JROOT::JRootFileReader< T, false >, JROOT::JMarkerAttributes, JROOT::JLineAttributes, JLANG::JObjectSampler< T, JSampler_t >, JLANG::JObjectSampler< JDAQSummaryslice, JRandomSampler >, JLANG::JPipe< T >, JLANG::JSTDObjectIterator< T >, JLANG::JPipe< JTail_t >, JLANG::JPipe< JHead_t >, JROOT::JTreeReaderObjectIterator< T >, JLANG::JObjectMultiplexer< JDerived_t, JBase_t >, JLANG::JObjectMultiplexer< JHead_t, JBase_t >, JLANG::JObjectMultiplexer< JTail_t, JBase_t >, JLANG::JAbstractObjectIterator< T >, JLANG::JAbstractObjectIterator< Head >, JLANG::JAbstractObjectIterator< JTail_t >, JLANG::JAbstractObjectIterator< JHead_t >, JLANG::JAbstractObjectIterator< JTriggerParameters >, JLANG::JAbstractObjectIterator< JPhotonPath >, JLANG::JAbstractObjectReader< T >, JLANG::JConversionIterator< JInput_t, JOutput_t >, JLANG::JAbstractObjectReader< JNullType >, JLANG::JAbstractObjectReader< const T >, JLANG::JAbstractObjectReader< JTail_t >, JLANG::JAbstractObjectReader< JHead_t >, JLANG::JAbstractObjectReader< KM3NETDAQ::KM3NETDAQ::JDAQEvent >, and JLANG::JAbstractObjectReader< JDAQSummaryslice >.

template<class T>
virtual const pointer_type& JLANG::JObjectIterator< T >::next ( )
pure virtual

Get next element.

Returns
pointer to element

Implemented in JSUPPORT::JMultipleFileScanner< T >, JSUPPORT::JMultipleFileScanner<>, JSUPPORT::JMultipleFileScanner< JTail_t >, JSUPPORT::JMultipleFileScanner< JHead_t >, JSUPPORT::JMultipleFileScanner< KM3NETDAQ::KM3NETDAQ::JDAQEvent >, JSUPPORT::JMultipleFileScanner< JDAQSummaryslice >, JLANG::JNullIterator< T >, JSUPPORT::JSingleFileScanner< T >, JSUPPORT::JSingleFileScanner<>, JSUPPORT::JSingleFileScanner< JTail_t >, JSUPPORT::JSingleFileScanner< JHead_t >, JLANG::JObjectMultiplexer< JTypeList< JHead_t, JTail_t >, JBase_t >, JROOT::JRootFileReader< T, false >, JLANG::JObjectSampler< T, JSampler_t >, JLANG::JObjectSampler< JDAQSummaryslice, JRandomSampler >, JROOT::JMarkerAttributes, JLANG::JPipe< T >, JLANG::JPipe< JTail_t >, JLANG::JPipe< JHead_t >, JROOT::JLineAttributes, JROOT::JTreeReaderObjectIterator< T >, JLANG::JSTDObjectIterator< T >, JLANG::JObjectMultiplexer< JDerived_t, JBase_t >, JLANG::JObjectMultiplexer< JHead_t, JBase_t >, JLANG::JObjectMultiplexer< JTail_t, JBase_t >, JLANG::JAbstractObjectIterator< T >, JLANG::JAbstractObjectIterator< Head >, JLANG::JAbstractObjectIterator< JTail_t >, JLANG::JAbstractObjectIterator< JHead_t >, JLANG::JAbstractObjectIterator< JTriggerParameters >, JLANG::JAbstractObjectIterator< JPhotonPath >, JLANG::JAbstractObjectReader< T >, JLANG::JConversionIterator< JInput_t, JOutput_t >, JLANG::JAbstractObjectReader< JNullType >, JLANG::JAbstractObjectReader< const T >, JLANG::JAbstractObjectReader< JTail_t >, JLANG::JAbstractObjectReader< JHead_t >, JLANG::JAbstractObjectReader< KM3NETDAQ::KM3NETDAQ::JDAQEvent >, and JLANG::JAbstractObjectReader< JDAQSummaryslice >.

template<class T>
virtual skip_type JLANG::JObjectIterator< T >::skip ( const skip_type  ns)
inlinevirtual

Skip items.

Parameters
nsnumber of items to skip
Returns
number of items skipped

Reimplemented in JLANG::JPipe< T >, JLANG::JPipe< JTail_t >, JLANG::JPipe< JHead_t >, JLANG::JSTDObjectIterator< T >, JLANG::JAbstractObjectReader< T >, JLANG::JAbstractObjectReader< JNullType >, JLANG::JAbstractObjectReader< const T >, JLANG::JAbstractObjectReader< JTail_t >, JLANG::JAbstractObjectReader< JHead_t >, JLANG::JAbstractObjectReader< KM3NETDAQ::KM3NETDAQ::JDAQEvent >, and JLANG::JAbstractObjectReader< JDAQSummaryslice >.

Definition at line 90 of file JObjectIterator.hh.

91  {
92  skip_type i = 0;
93 
94  for ( ; i != ns && hasNext(); ++i) {
95  next();
96  }
97 
98  return i;
99  }
unsigned int skip_type
Type definition for number of objects to skip.
std::vector< size_t > ns
virtual const pointer_type & next()=0
Get next element.
virtual bool hasNext()=0
Check availability of next element.

Friends And Related Function Documentation

template<class T>
JObjectIterator<T>& operator>> ( JObjectIterator< T > &  in,
JObjectOutput< T > &  out 
)
friend

Copy to object output.

Parameters
inobject iterator
outobject output
Returns
object iterator

Definition at line 109 of file JObjectIterator.hh.

111  {
112  while (in.hasNext()) {
113 
114  const T* p = in.next();
115 
116  if (p != NULL)
117  out.put(*p);
118  else
119  break;
120  }
121 
122  return in;
123  }
virtual const pointer_type & next()=0
Get next element.
do set_variable OUTPUT_DIRECTORY $WORKDIR T
virtual bool hasNext()=0
Check availability of next element.
virtual bool put(const T &object)=0
Object output.
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
Definition: JCanberra.sh:46
template<class T>
void operator| ( JObjectIterator< T > &  left,
JObjectOutput< T > &  right 
)
friend

Pipe terminator.

Parameters
leftobject iterator
rightobject output

Definition at line 132 of file JObjectIterator.hh.

133  {
134  left >> right;
135  }
template<class T>
JMultiPipe<T,0>& operator| ( JObjectIterator< T > &  left,
const JValve< T > &  right 
)
friend

Pipe operator.

Parameters
leftobject iterator
rightvalve
Returns
pipe object

Definition at line 145 of file JObjectIterator.hh.

146  {
147  JMultiPipe<T,0>::pipe.reset(new JMultiPipe<T,0>(left, right));
148 
149  return *JMultiPipe<T,0>::pipe;
150  }
Auxiliary class for object iteration via multiple pipes, e.g. operator:
template<class T>
JMultiPipe<T,0>& operator| ( JObjectIterator< T > &  left,
const JObjectSelector< T > &  right 
)
friend

Pipe operator.

Parameters
leftobject iterator
rightobject selector
Returns
pipe object

Definition at line 160 of file JObjectIterator.hh.

161  {
162  JMultiPipe<T,0>::pipe.reset(new JMultiPipe<T,0>(left, right));
163 
164  return *JMultiPipe<T,0>::pipe;
165  }
Auxiliary class for object iteration via multiple pipes, e.g. operator:
template<class T>
JMultiPipe<T,0>& operator| ( JObjectIterator< T > &  left,
const JRegulator right 
)
friend

Pipe operator.

Parameters
leftobject iterator
rightregulator
Returns
pipe object

Definition at line 175 of file JObjectIterator.hh.

176  {
177  JMultiPipe<T,0>::pipe.reset(new JMultiPipe<T,0>(left, right));
178 
179  return *JMultiPipe<T,0>::pipe;
180  }
Auxiliary class for object iteration via multiple pipes, e.g. operator:
template<class T>
template<class JBase_t >
JObjectMultiplexer<T, JBase_t>& operator| ( JObjectIterator< T > &  left,
const JType< JBase_t > &  right 
)
friend

Pipe operator.

Parameters
leftobject iterator
rightdata type
Returns
object multiplexer

Definition at line 191 of file JObjectIterator.hh.

192  {
194 
196  }
Auxiliary class for multiplexing object iterators.

The documentation for this class was generated from the following file: