11#ifndef FRAMEWORK_INPUTRECORDWALKER_H
12#define FRAMEWORK_INPUTRECORDWALKER_H
52template <DataHeaderLike... EXTRA_HEADERS>
84 : mInputIterator(it), mEnd(
end), mCurrentRange(it.parts()), mCurrent(mCurrentRange.
begin()), mFilterSpecs(filterSpecs)
110 return mInputIterator ==
other.mInputIterator && mCurrent ==
other.mCurrent;
119 bool next(
bool isInitialPart =
false)
121 if (!isInitialPart) {
124 while (mInputIterator != mEnd) {
125 for (; mCurrent != mCurrentRange.
end(); ++mCurrent) {
127 if (mFilterSpecs.size() > 0) {
128 bool isSelected =
false;
129 for (
auto const& spec : mFilterSpecs) {
130 if ((isSelected = DataRefUtils::match<EXTRA_HEADERS...>(*mCurrent, spec)) ==
true) {
141 mCurrentRange = mInputIterator.parts();
142 mCurrent = mCurrentRange.
begin();
151 std::vector<InputSpec>
const& mFilterSpecs;
168 std::vector<InputSpec> mFilterSpecs;
Defining ITS Vertex explicitly as messageable.
VectorOfTObjectPtrs other