]> git.apps.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)
committerKefu Chai <tchaikov@gmail.com>
Tue, 1 Mar 2022 16:58:25 +0000 (00:58 +0800)
std::iterator<> is deprecated in C++17, so let's just
define the required traits directly.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
src/include/xlist.h

index 733a318a9bd73c2f5ee440b2467310a47be68b08..3c04312c714a4b5f3e839c6b76002183b652390c 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++() {