23int main(
int argc, 
char **argv)
 
   30  JLimit_t&       numberOfEvents = inputFile.getLimit();
 
   35    JParser<> zap(
"Program to test iteration from a ROOT TTree.");
 
   43  catch(
const exception& error) {
 
   44    FATAL(error.what() << endl);
 
   53  DEBUG(
"Number of entries " << in.getEntries()                  << endl);
 
   54  DEBUG(
"Distance          " << 
distance(in. begin(), in. end()) << endl);
 
   55  DEBUG(
"Distance          " << 
distance(in.rbegin(), in.rend()) << endl);
 
   56  DEBUG(
"Limit             " << inputFile.getLimit()             << endl);
 
   58  DEBUG(
"hasNext iteration:");
 
   59  while (in.hasNext()) {
 
   67  DEBUG(
"indexed iteration:");
 
   68  for (
counter_type i = inputFile.getLowerLimit(); i != inputFile.getUpperLimit(); ++i) {
 
   69    DEBUG(
' ' << setw(2) << in.getEntry(i)->getFrameIndex());
 
   73  DEBUG(
"forward iteration:");  
 
   74  for (JTreeScanner_t::iterator i = in.begin(); i != in.end(); ++i) {
 
   75    DEBUG(
' ' << setw(2) << i->getFrameIndex());
 
   79  DEBUG(
"reverse iteration:");
 
   80  for (JTreeScanner_t::reverse_iterator i = in.rbegin(); i != in.rend(); ++i) {
 
   81    DEBUG(
' ' << setw(2) << i->getFrameIndex());
 
   87  ASSERT(in.getEntries() > 1, 
"check number of entries");
 
   88  ASSERT(inputFile.getUpperLimit() < in.getEntries() && inputFile.getLength() > 1,  
"check limit");
 
   90  ASSERT(
distance(in. begin(), in. end()), inputFile.getLimit().getLength());
 
   91  ASSERT(
distance(in.rbegin(), in.rend()), inputFile.getLimit().getLength());
 
   93  for (JTreeScanner_t::iterator 
j = in.begin(), i = 
j++; 
j != in.end(); ++i, ++
j) {
 
   94    ASSERT(i->getFrameIndex() < 
j->getFrameIndex());
 
   97  for (JTreeScanner_t::reverse_iterator 
j = in.rbegin(), i = 
j++; 
j != in.rend(); ++i, ++
j) {
 
   98    ASSERT(i->getFrameIndex() > 
j->getFrameIndex());