]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
include/xlist: define iterator without std::iterator<>
authorKefu Chai <tchaikov@gmail.com>
Tue, 1 Mar 2022 16:14:09 +0000 (00:14 +0800)
committerRonen Friedman <rfriedma@redhat.com>
Thu, 29 Jun 2023 11:59:21 +0000 (06:59 -0500)
std::iterator<> is deprecated in C++17, so let's just
define the required traits directly.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
(cherry picked from commit 77a3ed56a7b7326814ea5d37214bec1d88ec334e)

src/include/xlist.h

index 49510a7f1d24503aeb761100c2876226a4e86dd3..73e6d8d5353eb492fbefc27de9dc27f491c71047 100644 (file)
@@ -159,10 +159,15 @@ public:
     remove(_back);
   }
 
-  class iterator: std::iterator<std::forward_iterator_tag, T> {
+  class iterator {
   private:
     item *cur;
   public:
+    using iterator_category = std::forward_iterator_tag;
+    using value_type = T;
+    using difference_type = std::ptrdiff_t;
+    using pointer = T*;
+    using reference = T&;
     iterator(item *i = 0) : cur(i) {}
     T operator*() { return static_cast<T>(cur->_item); }
     iterator& operator++() {