Jpp test-rotations-new
the software that should make you happy
Loading...
Searching...
No Matches
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 >:
JLANG::JObjectSampler< T, JSampler > JLANG::JRewindableObjectIterator< JCategory< T::value_type, JClass< T::reference >::is_constant >::value_type > JLANG::JRewindableObjectIterator< JTypeList< JHead_t, JTail_t > > JDATABASE::JDatabaseObjectIterator< JTypeList< JHead_t, JTail_t > > JLANG::JAbstractObjectIterator< T > JLANG::JAbstractObjectReader< T > JLANG::JAccessibleObjectIterator< T > JLANG::JNullIterator< T > JLANG::JObjectMultiplexer< JDerived_t, JBase_t > JLANG::JObjectReader< T > JLANG::JObjectSampler< T, JSampler_t > JLANG::JPipe< T > JLANG::JPipe< JTypeList< JHead_t, JTail_t > > JLANG::JRewindableObjectIterator< T >

Public Types

typedef JPointer< T > pointer_type
 Type definition of pointer_type.
 

Public Member Functions

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

Protected Member Functions

 JObjectIterator ()
 Default constructor.
 

Friends

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

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

◆ pointer_type

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

Type definition of pointer_type.

Definition at line 58 of file JObjectIterator.hh.

Constructor & Destructor Documentation

◆ JObjectIterator()

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

Default constructor.

Definition at line 50 of file JObjectIterator.hh.

51 {}

◆ ~JObjectIterator()

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

Virtual destructor.

Definition at line 64 of file JObjectIterator.hh.

65 {}

Member Function Documentation

◆ hasNext()

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 JLANG::JAbstractObjectIterator< T >, JLANG::JAbstractObjectIterator< Head >, JLANG::JAbstractObjectIterator< JHead_t >, JLANG::JAbstractObjectIterator< JTail_t >, JLANG::JAbstractObjectIterator< JTriggerParameters >, JLANG::JAbstractObjectReader< T >, JLANG::JAbstractObjectReader< const event_type >, JLANG::JAbstractObjectReader< Evt >, JLANG::JAbstractObjectReader< JDAQSummaryslice >, JLANG::JAbstractObjectReader< JHead_t >, JLANG::JAbstractObjectReader< JTail_t >, JLANG::JAbstractObjectReader< JTypeList< JDAQEvent, JNullType > >, JLANG::JAbstractObjectReader< KM3NETDAQ::JDAQEvent >, JLANG::JConversionIterator< JInput_t, JOutput_t >, JLANG::JNullIterator< T >, JLANG::JObjectMultiplexer< JDerived_t, JBase_t >, JLANG::JObjectMultiplexer< JHead_t, JBase_t >, JLANG::JObjectMultiplexer< JTail_t, JBase_t >, JLANG::JObjectMultiplexer< JTypeList< JHead_t, JTail_t >, JBase_t >, JLANG::JObjectSampler< T, JSampler_t >, JLANG::JObjectSampler< JDAQSummaryslice, JRandomSampler >, JLANG::JObjectSampler< T, JSampler >, JLANG::JPipe< T >, JLANG::JPipe< JHead_t >, JLANG::JPipe< JTail_t >, JLANG::JSTDObjectIterator< T >, JROOT::JLineAttributes, JROOT::JMarkerAttributes, JROOT::JRootFileReader< T, false >, JROOT::JTreeReaderObjectIterator< T >, JSUPPORT::JMultipleFileScanner< T >, JSUPPORT::JMultipleFileScanner< Evt >, JSUPPORT::JMultipleFileScanner< JDAQSummaryslice >, JSUPPORT::JMultipleFileScanner< JHead_t >, JSUPPORT::JMultipleFileScanner< JTail_t >, JSUPPORT::JMultipleFileScanner< JTypeList< JDAQEvent, JNullType > >, JSUPPORT::JMultipleFileScanner< KM3NETDAQ::JDAQEvent >, JSUPPORT::JMultipleFileScanner<>, JSUPPORT::JSingleFileScanner< T >, JSUPPORT::JSingleFileScanner< JHead_t >, JSUPPORT::JSingleFileScanner< JTail_t >, JSUPPORT::JSingleFileScanner<>, and JSUPPORT::JTriggeredFileScanner< JTypelist_t, JFileScanner_t >.

◆ next()

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

Get next element.

Returns
pointer to element

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

◆ skip()

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::JAbstractObjectReader< T >, JLANG::JAbstractObjectReader< const event_type >, JLANG::JAbstractObjectReader< Evt >, JLANG::JAbstractObjectReader< JDAQSummaryslice >, JLANG::JAbstractObjectReader< JHead_t >, JLANG::JAbstractObjectReader< JTail_t >, JLANG::JAbstractObjectReader< JTypeList< JDAQEvent, JNullType > >, JLANG::JAbstractObjectReader< KM3NETDAQ::JDAQEvent >, JLANG::JPipe< T >, JLANG::JPipe< JHead_t >, JLANG::JPipe< JTail_t >, JLANG::JSTDObjectIterator< T >, JROOT::JRootFileReader< T, false >, JROOT::JTreeReaderObjectIterator< T >, JSUPPORT::JMultipleFileScanner< T >, JSUPPORT::JMultipleFileScanner< Evt >, JSUPPORT::JMultipleFileScanner< JDAQSummaryslice >, JSUPPORT::JMultipleFileScanner< JHead_t >, JSUPPORT::JMultipleFileScanner< JTail_t >, JSUPPORT::JMultipleFileScanner< JTypeList< JDAQEvent, JNullType > >, JSUPPORT::JMultipleFileScanner< JTypeList< JHead_t, JTail_t > >, JSUPPORT::JMultipleFileScanner< KM3NETDAQ::JDAQEvent >, JSUPPORT::JMultipleFileScanner<>, JSUPPORT::JSingleFileScanner< T >, JSUPPORT::JSingleFileScanner< JHead_t >, JSUPPORT::JSingleFileScanner< JTail_t >, JSUPPORT::JSingleFileScanner< JTypeList< JHead_t, JTail_t > >, and JSUPPORT::JSingleFileScanner<>.

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 }
virtual bool hasNext()=0
Check availability of next element.
virtual const pointer_type & next()=0
Get next element.
unsigned int skip_type
Type definition for number of objects to skip.

Friends And Related Symbol Documentation

◆ operator>>

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 }

◆ operator| [1/5]

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 }

◆ operator| [2/5]

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 }
static JSinglePointer< JMultiPipe< T, N > > pipe
Declaration of common pipe.
Definition JPipe.hh:343

◆ operator| [3/5]

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 }

◆ operator| [4/5]

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 }

◆ operator| [5/5]

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 {
193 JObjectMultiplexer<T, JBase_t>::multiplexer.reset(new JObjectMultiplexer<T, JBase_t>(left));
194
196 }
static multiplexer_type multiplexer
Multiplexer.
virtual void reset() override
Reset pointer.
Definition JStorage.hh:42

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