1 #ifndef __JSUPPORT__JTREESCANNERINTERFACE__ 
    2 #define __JSUPPORT__JTREESCANNERINTERFACE__ 
   17 namespace JPP { 
using namespace JSUPPORT; }
 
   33   template<
class T, 
class JEvaluator_t = JNullType>
 
   48   template<
class JClass_t>
 
   81     virtual Long64_t getEntries() 
const = 0;
 
   90     virtual JClass_t* getEntry(Long64_t index) = 0;
 
  108       return JClass_t::Class_Name();
 
  137         return pTreeScanner->getEntry(index);
 
  148         return *(pTreeScanner->getEntry(index));
 
  158       virtual bool equals(
const iterator& cursor)
 const 
  160         return index == cursor.index;
 
  171         return ++index < pTreeScanner->getEntries();
 
  206     struct reverse_iterator :
 
  228         return  (this->pTreeScanner->getEntry(this->pTreeScanner->getEntries() - this->index - 1));
 
  239         return *(this->pTreeScanner->getEntry(this->pTreeScanner->getEntries() - this->index - 1));
 
  249       virtual bool equals(
const reverse_iterator& cursor)
 const 
  251         return index == cursor.index;
 
  262         return ++index < pTreeScanner->getEntries();
 
  301       return iterator(
this, this->getLowerLimit());
 
  312       return iterator(
this, this->getUpperLimit() < this->getEntries() ? this->getUpperLimit() : this->getEntries());
 
  323       return reverse_iterator(
this, this->getLowerLimit());
 
  334       return reverse_iterator(
this, this->getUpperLimit() < this->getEntries() ? this->getUpperLimit() : this->getEntries());
 
  345   template<
class JClass_t, 
class JEvaluator_t>
 
  365     virtual Long64_t 
find(
const double value) 
const = 0;
 
  375     Long64_t 
find(
const T& 
object)
 const 
virtual bool increment()
Increment iterator. 
 
JTreeScannerInterface * pTreeScanner
 
Interface for object iteration with rewinding. 
 
const data_type & operator*()
Dereference operator. 
 
data_type * operator->()
Smart pointer operator. 
 
void configure(const JMultipleFileScanner_t &file_list)
Configure. 
 
iterator()
Default constructor. 
 
iterator(JTreeScannerInterface *__p, const counter_type __i)
Constructor. 
 
reverse_iterator rbegin()
Get reverse iterator to begin of data. 
 
virtual bool increment()
Increment iterator. 
 
reverse_iterator rend()
Get reverse iterator to end of data. 
 
data_type & operator*()
Dereference operator. 
 
virtual bool decrement()
Decrement iterator. 
 
Long64_t counter_type
Type definition for counter. 
 
virtual Long64_t find(const double value) const =0
Find index of element that is closest in value to given value. 
 
iterator begin()
Get iterator to begin of data. 
 
Auxiliary interface for direct access of elements in ROOT TChain. 
 
const data_type * operator->()
Smart pointer operator. 
 
virtual const char * getClassName() const 
Get actual class name. 
 
Auxiliary class for defining the range of iterations of objects. 
 
Template interface for method bool decrement(). 
 
JRewindableObjectIterator< JClass_t >::pointer_type pointer_type
 
JTreeScannerInterface * pTreeScanner
 
reverse_iterator(JTreeScannerInterface *__p, const counter_type __i)
Constructor. 
 
Template definition of auxiliary base class for comparison of data structures. 
 
virtual bool equals(const iterator &cursor) const 
Equality of iterator. 
 
Auxiliary class for no type definition. 
 
Scanning of objects from multiple files according a format that follows from the extension of each fi...
 
Auxiliary base class for list of file names. 
 
JTreeScannerInterface(const JEvaluator_t &evaluator=JEvaluator_t())
Constructor. 
 
iterator end()
Get iterator to end of data. 
 
virtual bool decrement()
Decrement iterator. 
 
virtual bool equals(const reverse_iterator &cursor) const 
Equality of iterator. 
 
Long64_t find(const T &object) const 
Find index of element that is closest in value to given object. 
 
Auxiliaries for defining the range of iterations of objects. 
 
const JEvaluator_t & getEvaluator() const 
Get evaluator. 
 
reverse_iterator()
Default constructor.