From 0848c905c910adb433fd3bbf17c0de60d3e29eb7 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Wed, 16 Mar 2022 15:27:15 +0100 Subject: [PATCH 1/2] DPL: fix deprecated inheritance of std::iterator --- .../Core/include/Framework/InputRecordWalker.h | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/Framework/Core/include/Framework/InputRecordWalker.h b/Framework/Core/include/Framework/InputRecordWalker.h index 3bb8a65ddffe9..9f3113e88e699 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::input_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()); From ff2764c38563b0d633389c14157d3af6f4fe63c5 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Fri, 18 Mar 2022 11:48:01 +0100 Subject: [PATCH 2/2] Use correct tag for iterator. --- Framework/Core/include/Framework/InputRecordWalker.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Framework/Core/include/Framework/InputRecordWalker.h b/Framework/Core/include/Framework/InputRecordWalker.h index 9f3113e88e699..a67a7dfb04820 100644 --- a/Framework/Core/include/Framework/InputRecordWalker.h +++ b/Framework/Core/include/Framework/InputRecordWalker.h @@ -64,7 +64,7 @@ class InputRecordWalker { public: using self_type = Iterator; - using iterator_category = std::input_iterator_tag; + using iterator_category = std::forward_iterator_tag; using value_type = T; using reference = T&; using pointer = T*;