Jpp  18.0.0-rc.4
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 Attributes | List of all members
JLANG::JRewindableAbstractObjectIterator< T > Class Template Referenceabstract

Abstract object iterator with rewinding. More...

#include <JAbstractObjectIterator.hh>

Inheritance diagram for JLANG::JRewindableAbstractObjectIterator< T >:
JLANG::JRewindableObjectIterator< T > JLANG::JAbstractObjectIterator< T > JLANG::JObjectIterator< T > JLANG::JRewindable< T > JLANG::JObjectIterator< T > JSUPPORT::JMultipleFileScanner< Head > JSUPPORT::JMultipleFileScanner< JTriggerParameters >

Public Types

typedef JPointer< Tpointer_type
 Type definition of pointer_type. More...
 
typedef JObjectIterator< T >
::pointer_type 
pointer_type
 

Public Member Functions

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...
 
virtual void rewind ()=0
 Rewind. More...
 
virtual bool setObject (T &object)=0
 Set object. More...
 
virtual bool hasNext () override
 Check availability of next element. More...
 
virtual const pointer_typenext () override
 Get next element. More...
 

Protected Attributes

T object
 object More...
 
bool has_next
 status More...
 

Detailed Description

template<class T>
class JLANG::JRewindableAbstractObjectIterator< T >

Abstract object iterator with rewinding.

Definition at line 92 of file JAbstractObjectIterator.hh.

Member Typedef Documentation

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

Type definition of pointer_type.

Definition at line 58 of file JObjectIterator.hh.

template<class T>
typedef JObjectIterator<T>::pointer_type JLANG::JAbstractObjectIterator< T >::pointer_type
inherited

Definition at line 39 of file JAbstractObjectIterator.hh.

Member Function Documentation

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

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::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 virtualinherited

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::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)
inlinevirtualinherited

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.
template<class T>
virtual void JLANG::JRewindable< T >::rewind ( )
pure virtualinherited
template<class T>
virtual bool JLANG::JAbstractObjectIterator< T >::setObject ( T object)
pure virtualinherited
template<class T>
virtual bool JLANG::JAbstractObjectIterator< T >::hasNext ( )
inlineoverridevirtualinherited

Check availability of next element.

Returns
true if the iteration has more elements; else false

Implements JLANG::JObjectIterator< T >.

Definition at line 56 of file JAbstractObjectIterator.hh.

57  {
58  if (!has_next) {
59  has_next = this->setObject(object);
60  }
61 
62  return has_next;
63  }
virtual bool setObject(T &object)=0
Set object.
template<class T>
virtual const pointer_type& JLANG::JAbstractObjectIterator< T >::next ( )
inlineoverridevirtualinherited

Get next element.

Returns
pointer to element

Implements JLANG::JObjectIterator< T >.

Definition at line 71 of file JAbstractObjectIterator.hh.

72  {
73  if (has_next)
74  ps.reset(&this->object);
75  else
76  ps.reset(NULL);
77 
78  has_next = false;
79 
80  return ps;
81  }
virtual void reset() override
Reset pointer.
Definition: JPointer.hh:84

Member Data Documentation

template<class T>
T JLANG::JAbstractObjectIterator< T >::object
protectedinherited

object

Definition at line 34 of file JAbstractObjectIterator.hh.

template<class T>
bool JLANG::JAbstractObjectIterator< T >::has_next
protectedinherited

status

Definition at line 35 of file JAbstractObjectIterator.hh.


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