#include <IndexIntoFile.h>
Public Member Functions | |
void | advanceToEvent () |
void | advanceToLumi () |
void | advanceToNextLumiOrRun () |
void | advanceToNextRun () |
void | copyPosition (IndexIntoFileItr const &position) |
Copy the position without modifying the pointer to the IndexIntoFile or size. | |
EntryNumber_t | entry () const |
EntryType | getEntryType () const |
IndexIntoFileItr (IndexIntoFile const *indexIntoFile, SortOrder sortOrder, EntryType entryType, int indexToRun, int indexToLumi, int indexToEventRange, long long indexToEvent, long long nEvents) | |
void | initializeLumi () |
Should only be used internally and for tests. | |
void | initializeRun () |
Should only be used internally and for tests. | |
LuminosityBlockNumber_t | lumi () const |
bool | operator!= (IndexIntoFileItr const &right) const |
IndexIntoFileItr & | operator++ () |
Move to next event to be processed. | |
bool | operator== (IndexIntoFileItr const &right) const |
EntryNumber_t | peekAheadAtEventEntry () const |
LuminosityBlockNumber_t | peekAheadAtLumi () const |
int | processHistoryIDIndex () const |
RunNumber_t | run () const |
void | skipEventBackward (int &phIndexOfEvent, RunNumber_t &runOfEvent, LuminosityBlockNumber_t &lumiOfEvent, EntryNumber_t &eventEntry) |
void | skipEventForward (int &phIndexOfSkippedEvent, RunNumber_t &runOfSkippedEvent, LuminosityBlockNumber_t &lumiOfSkippedEvent, EntryNumber_t &skippedEventEntry) |
bool | skipLumiInRun () |
bool | skipToNextEventInLumi () |
Private Member Functions | |
IndexIntoFile const * | indexIntoFile () const |
long long | indexToEvent () const |
int | indexToEventRange () const |
int | indexToLumi () const |
int | indexToRun () const |
long long | nEvents () const |
int | size () const |
EntryType | type () const |
Private Attributes | |
value_ptr< IndexIntoFileItrImpl > | impl_ |
Definition at line 634 of file IndexIntoFile.h.
edm::IndexIntoFile::IndexIntoFileItr::IndexIntoFileItr | ( | IndexIntoFile const * | indexIntoFile, |
SortOrder | sortOrder, | ||
EntryType | entryType, | ||
int | indexToRun, | ||
int | indexToLumi, | ||
int | indexToEventRange, | ||
long long | indexToEvent, | ||
long long | nEvents | ||
) |
This itended to be used only internally and by IndexIntoFile. One thing that is needed for the future, is to add some checks to make sure the iterator is in a valid state inside this constructor. It is currently possible to create an iterator with this constructor in an invalid state and the behavior would then be undefined. In the existing internal usages the iterator will always be valid. (for example IndexIntoFile::begin and IndexIntoFile::findPosition will always return a valid iterator).
Definition at line 1635 of file IndexIntoFile.cc.
References impl_, edm::IndexIntoFile::numericalOrder, edm::swap(), and cond::rpcobtemp::temp.
: impl_() { if (sortOrder == numericalOrder) { value_ptr<IndexIntoFileItrImpl> temp(new IndexIntoFileItrSorted(indexIntoFile, entryType, indexToRun, indexToLumi, indexToEventRange, indexToEvent, nEvents )); swap(temp, impl_); } else { value_ptr<IndexIntoFileItrImpl> temp(new IndexIntoFileItrNoSort(indexIntoFile, entryType, indexToRun, indexToLumi, indexToEventRange, indexToEvent, nEvents)); swap(temp, impl_); } }
void edm::IndexIntoFile::IndexIntoFileItr::advanceToEvent | ( | ) |
Definition at line 1667 of file IndexIntoFile.cc.
References edm::IndexIntoFile::kEnd, and edm::IndexIntoFile::kEvent.
Referenced by edm::IndexIntoFile::findEventPosition().
{ for (EntryType entryType = getEntryType(); entryType != kEnd && entryType != kEvent; entryType = getEntryType()) { impl_->next(); } }
void edm::IndexIntoFile::IndexIntoFileItr::advanceToLumi | ( | ) |
Definition at line 1675 of file IndexIntoFile.cc.
References edm::IndexIntoFile::kEnd, and edm::IndexIntoFile::kLumi.
Referenced by edm::IndexIntoFile::findLumiPosition().
{ for (EntryType entryType = getEntryType(); entryType != kEnd && entryType != kLumi; entryType = getEntryType()) { impl_->next(); } }
void edm::IndexIntoFile::IndexIntoFileItr::advanceToNextLumiOrRun | ( | ) | [inline] |
Definition at line 722 of file IndexIntoFile.h.
References impl_.
{impl_->advanceToNextLumiOrRun();}
void edm::IndexIntoFile::IndexIntoFileItr::advanceToNextRun | ( | ) | [inline] |
Definition at line 721 of file IndexIntoFile.h.
References impl_.
Referenced by edm::IndexIntoFile::findPosition().
{impl_->advanceToNextRun();}
void edm::IndexIntoFile::IndexIntoFileItr::copyPosition | ( | IndexIntoFileItr const & | position | ) |
Copy the position without modifying the pointer to the IndexIntoFile or size.
Definition at line 1684 of file IndexIntoFile.cc.
References impl_.
Referenced by edm::RootFile::indexIntoFileIter().
EntryNumber_t edm::IndexIntoFile::IndexIntoFileItr::entry | ( | ) | const [inline] |
Definition at line 658 of file IndexIntoFile.h.
References impl_.
Referenced by fwlite::EntryFinder::findEvent(), fwlite::EntryFinder::findLumi(), and fwlite::EntryFinder::findRun().
{return impl_->entry();}
EntryType edm::IndexIntoFile::IndexIntoFileItr::getEntryType | ( | ) | const [inline] |
Definition at line 654 of file IndexIntoFile.h.
References impl_.
Referenced by edm::IndexIntoFile::containsEvent(), edm::IndexIntoFile::containsLumi(), edm::IndexIntoFile::containsRun(), and edm::RootFile::setAtEventEntry().
{return impl_->getEntryType();}
IndexIntoFile const* edm::IndexIntoFile::IndexIntoFileItr::indexIntoFile | ( | ) | const [inline, private] |
Definition at line 748 of file IndexIntoFile.h.
References impl_.
{ return impl_->indexIntoFile(); }
long long edm::IndexIntoFile::IndexIntoFileItr::indexToEvent | ( | ) | const [inline, private] |
int edm::IndexIntoFile::IndexIntoFileItr::indexToEventRange | ( | ) | const [inline, private] |
Definition at line 753 of file IndexIntoFile.h.
References impl_.
{ return impl_->indexToEventRange(); }
int edm::IndexIntoFile::IndexIntoFileItr::indexToLumi | ( | ) | const [inline, private] |
int edm::IndexIntoFile::IndexIntoFileItr::indexToRun | ( | ) | const [inline, private] |
void edm::IndexIntoFile::IndexIntoFileItr::initializeLumi | ( | ) | [inline] |
Should only be used internally and for tests.
Definition at line 739 of file IndexIntoFile.h.
References impl_.
Referenced by edm::IndexIntoFile::findPosition().
{impl_->initializeLumi();}
void edm::IndexIntoFile::IndexIntoFileItr::initializeRun | ( | ) | [inline] |
Should only be used internally and for tests.
Definition at line 736 of file IndexIntoFile.h.
References impl_.
Referenced by edm::IndexIntoFile::begin(), and edm::IndexIntoFile::findPosition().
{impl_->initializeRun();}
LuminosityBlockNumber_t edm::IndexIntoFile::IndexIntoFileItr::lumi | ( | ) | const [inline] |
Definition at line 657 of file IndexIntoFile.h.
References impl_.
Referenced by edm::RootFile::readLuminosityBlockAuxiliary_().
{return impl_->lumi();}
long long edm::IndexIntoFile::IndexIntoFileItr::nEvents | ( | ) | const [inline, private] |
bool edm::IndexIntoFile::IndexIntoFileItr::operator!= | ( | IndexIntoFileItr const & | right | ) | const [inline] |
Definition at line 731 of file IndexIntoFile.h.
{ return !(*this == right); }
IndexIntoFileItr& edm::IndexIntoFile::IndexIntoFileItr::operator++ | ( | void | ) | [inline] |
Move to next event to be processed.
Definition at line 682 of file IndexIntoFile.h.
References impl_.
{ impl_->next(); return *this; }
bool edm::IndexIntoFile::IndexIntoFileItr::operator== | ( | IndexIntoFileItr const & | right | ) | const [inline] |
Definition at line 727 of file IndexIntoFile.h.
References impl_.
{ return *impl_ == *right.impl_; }
EntryNumber_t edm::IndexIntoFile::IndexIntoFileItr::peekAheadAtEventEntry | ( | ) | const [inline] |
Same as entry() except when the the current type is kRun or kLumi. In that case instead of always returning 0 (invalid), it will return the event entry that will be processed next
Definition at line 666 of file IndexIntoFile.h.
References impl_.
Referenced by edm::IndexIntoFile::findPosition().
{ return impl_->peekAheadAtEventEntry(); }
LuminosityBlockNumber_t edm::IndexIntoFile::IndexIntoFileItr::peekAheadAtLumi | ( | ) | const [inline] |
Same as lumi() except when the the current type is kRun. In that case instead of always returning 0 (invalid), it will return the lumi that will be processed next
Definition at line 662 of file IndexIntoFile.h.
References impl_.
Referenced by edm::IndexIntoFile::findPosition().
{ return impl_->peekAheadAtLumi(); }
int edm::IndexIntoFile::IndexIntoFileItr::processHistoryIDIndex | ( | ) | const [inline] |
Definition at line 655 of file IndexIntoFile.h.
References impl_.
{return impl_->processHistoryIDIndex();}
RunNumber_t edm::IndexIntoFile::IndexIntoFileItr::run | ( | ) | const [inline] |
Definition at line 656 of file IndexIntoFile.h.
References impl_.
Referenced by edm::IndexIntoFile::findPosition(), edm::RootFile::readLuminosityBlockAuxiliary_(), and edm::RootFile::readRunAuxiliary_().
{return impl_->run();}
int edm::IndexIntoFile::IndexIntoFileItr::size | ( | void | ) | const [inline, private] |
void edm::IndexIntoFile::IndexIntoFileItr::skipEventBackward | ( | int & | phIndexOfEvent, |
RunNumber_t & | runOfEvent, | ||
LuminosityBlockNumber_t & | lumiOfEvent, | ||
EntryNumber_t & | eventEntry | ||
) | [inline] |
Move so that the event immediately preceding the the current position is the next event processed. If the type is kEvent or kLumi, then change the type to kRun if and only if the preceding event is in a different run. If the type is kEvent, change the type to kLumi if the lumi is different but the run is the same. Otherwise leave the type unchanged.
Definition at line 706 of file IndexIntoFile.h.
References impl_.
{ impl_->skipEventBackward(phIndexOfEvent, runOfEvent, lumiOfEvent, eventEntry); }
void edm::IndexIntoFile::IndexIntoFileItr::skipEventForward | ( | int & | phIndexOfSkippedEvent, |
RunNumber_t & | runOfSkippedEvent, | ||
LuminosityBlockNumber_t & | lumiOfSkippedEvent, | ||
EntryNumber_t & | skippedEventEntry | ||
) | [inline] |
Move to whatever is immediately after the current event or after the next event if there is not a current event, but do not modify the type or run/lumi indexes unless it is necessary because there are no more events in the current run or lumi.
Definition at line 692 of file IndexIntoFile.h.
References impl_.
{ impl_->skipEventForward(phIndexOfSkippedEvent, runOfSkippedEvent, lumiOfSkippedEvent, skippedEventEntry); }
bool edm::IndexIntoFile::IndexIntoFileItr::skipLumiInRun | ( | ) | [inline] |
Move to the next lumi in the current run. Returns false if there is not one.
Definition at line 715 of file IndexIntoFile.h.
References impl_.
Referenced by edm::IndexIntoFile::findPosition().
{ return impl_->skipLumiInRun(); }
bool edm::IndexIntoFile::IndexIntoFileItr::skipToNextEventInLumi | ( | ) | [inline] |
Move to the next event in the current lumi. Returns false if there is not one.
Definition at line 719 of file IndexIntoFile.h.
References impl_.
Referenced by edm::IndexIntoFile::findPosition().
{ return impl_->skipToNextEventInLumi(); }
EntryType edm::IndexIntoFile::IndexIntoFileItr::type | ( | ) | const [inline, private] |
Definition at line 757 of file IndexIntoFile.h.
Referenced by advanceToNextLumiOrRun(), advanceToNextRun(), copyPosition(), entry(), getEntryType(), indexIntoFile(), IndexIntoFileItr(), indexToEvent(), indexToEventRange(), indexToLumi(), indexToRun(), initializeLumi(), initializeRun(), lumi(), nEvents(), operator++(), operator==(), peekAheadAtEventEntry(), peekAheadAtLumi(), processHistoryIDIndex(), run(), size(), skipEventBackward(), skipEventForward(), skipLumiInRun(), skipToNextEventInLumi(), and type().