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;
124 bool next(
bool isInitialPart =
false)
126 if (!isInitialPart) {
129 while (mInputIterator != mEnd) {
130 for (; mCurrent != mCurrentRange.
end(); ++mCurrent) {
132 if (mFilterSpecs.size() > 0) {
133 bool isSelected =
false;
134 for (
auto const& spec : mFilterSpecs) {
135 if ((isSelected = DataRefUtils::match<EXTRA_HEADERS...>(*mCurrent, spec)) ==
true) {
146 mCurrentRange = mInputIterator.parts();
147 mCurrent = mCurrentRange.
begin();
156 std::vector<InputSpec>
const& mFilterSpecs;
173 std::vector<InputSpec> mFilterSpecs;
Defining ITS Vertex explicitly as messageable.
VectorOfTObjectPtrs other