diff --git a/Framework/Core/include/Framework/InputRecordWalker.h b/Framework/Core/include/Framework/InputRecordWalker.h index 3bb8a65ddffe9..a67a7dfb04820 100644 --- a/Framework/Core/include/Framework/InputRecordWalker.h +++ b/Framework/Core/include/Framework/InputRecordWalker.h @@ -55,21 +55,20 @@ class InputRecordWalker InputRecordWalker() = delete; InputRecordWalker(InputRecord& record, std::vector filterSpecs = {}) : mRecord(record), mFilterSpecs(filterSpecs) {} - template - using IteratorBase = std::iterator; - /// Iterator implementation /// Supports the following operations: /// - increment (there is no decrement, its not a bidirectional parser) /// - dereference operator returns @a RawDataHeaderInfo as common header template - class Iterator : public IteratorBase + class Iterator { public: using self_type = Iterator; - using value_type = typename IteratorBase::value_type; - using reference = typename IteratorBase::reference; - using pointer = typename IteratorBase::pointer; + using iterator_category = std::forward_iterator_tag; + using value_type = T; + using reference = T&; + using pointer = T*; + using difference_type = std::ptrdiff_t; // the iterator over the input routes using input_iterator = decltype(std::declval().begin());