1 #ifndef __JSUPPORT__JTREESCANNERINTERFACE__
2 #define __JSUPPORT__JTREESCANNERINTERFACE__
33 template<
class T,
class JEvaluator_t = JNullType>
46 template<
class JClass_t>
56 struct basic_iterator :
66 virtual bool equals(
const T& cursor)
const
68 return index == cursor.index;
79 return ++index < pTreeScanner->getEntries();
102 return (index += offset) < pTreeScanner->getEntries();
114 return (index -= offset) >= 0;
211 return JClass_t::Class_Name();
219 public basic_iterator<iterator>
239 return this->pTreeScanner->getEntry(this->index);
250 return *(this->pTreeScanner->getEntry(this->index));
264 return second.index - first.index;
284 struct reverse_iterator :
285 public basic_iterator<reverse_iterator>
305 return (this->pTreeScanner->getEntry(this->pTreeScanner->getEntries() - this->index - 1));
316 return *(this->pTreeScanner->getEntry(this->pTreeScanner->getEntries() - this->index - 1));
328 const reverse_iterator& second)
330 return second.index - first.index;
342 basic_iterator<reverse_iterator>(p, i)
354 return getEntries() == 0;
365 return iterator(
this, this->getLowerLimit());
376 return iterator(
this, this->getUpperLimit() < this->getEntries() ? this->getUpperLimit() : this->getEntries());
387 return reverse_iterator(
this, this->getLowerLimit());
398 return reverse_iterator(
this, this->getUpperLimit() < this->getEntries() ? this->getUpperLimit() : this->getEntries());
409 template<
class JClass_t,
class JEvaluator_t>
446 Long64_t
find(
const T&
object)
const
Auxiliaries for defining the range of iterations of objects.
Scanning of objects from multiple files according a format that follows from the extension of each fi...
Template interface for method bool decrement().
Interface for object iteration with rewinding.
virtual JClass_t * getEntry(Long64_t index)=0
Get entry at given index.
virtual void configure(const JMultipleFileScanner_t &file_list, const JLimit &limit)=0
Configure.
void configure(const JMultipleFileScanner_t &file_list)
Configure.
JRewindableObjectIterator< JClass_t >::pointer_type pointer_type
iterator begin()
Get iterator to begin of data.
virtual const char * getClassName() const
Get actual class name.
virtual Long64_t getEntries() const =0
Get number of entries.
reverse_iterator rend()
Get reverse iterator to end of data.
iterator end()
Get iterator to end of data.
virtual counter_type getCounter() const =0
Get internal counter.
bool empty() const
Check emptyness.
reverse_iterator rbegin()
Get reverse iterator to begin of data.
Auxiliary interface for direct access of elements in ROOT TChain.
const JEvaluator_t & getEvaluator() const
Get evaluator.
virtual Long64_t find(const value_type value) const =0
Find index of element that is closest in value to given value.
JEvaluator_t::value_type value_type
Type definition of time value.
Long64_t find(const T &object) const
Find index of element that is closest in value to given object.
JTreeScannerInterface(const JEvaluator_t &evaluator=JEvaluator_t())
Constructor.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Long64_t counter_type
Type definition for counter.
Support classes and methods for experiment specific I/O.
Template definition of auxiliary base class for comparison of data structures.
Auxiliary class for no type definition.
Auxiliary class for defining the range of iterations of objects.
Auxiliary base class for list of file names.
virtual bool decrement() override
Decrement iterator.
virtual bool decrement(const size_t offset) override
Decrement iterator.
virtual bool increment(const size_t offset) override
Increment iterator.
counter_type get() const
Get index.
basic_iterator()
Default constructor.
virtual bool increment() override
Increment iterator.
JTreeScannerInterface * pTreeScanner
virtual bool equals(const T &cursor) const
Equality of iterator.
basic_iterator(JTreeScannerInterface *p, const counter_type i)
Constructor.
iterator()
Default constructor.
friend difference_type distance(const iterator &first, const iterator &second)
Get distance between two iterators.
const data_type * operator->()
Smart pointer operator.
iterator(JTreeScannerInterface *p, const counter_type i)
Constructor.
counter_type difference_type
const data_type & operator*()
Dereference operator.
const data_type * operator->()
Smart pointer operator.
reverse_iterator(JTreeScannerInterface *p, const counter_type i)
Constructor.
reverse_iterator()
Default constructor.
counter_type difference_type
const data_type & operator*()
Dereference operator.
friend difference_type distance(const reverse_iterator &first, const reverse_iterator &second)
Get distance between two iterators.