diff --git a/src/util/IntrusiveList.hxx b/src/util/IntrusiveList.hxx index b149d1e69..edadd23f1 100644 --- a/src/util/IntrusiveList.hxx +++ b/src/util/IntrusiveList.hxx @@ -235,9 +235,7 @@ public: class const_iterator; - class iterator final - : public std::iterator { - + class iterator final { friend IntrusiveList; friend const_iterator; @@ -247,6 +245,12 @@ public: :cursor(_cursor) {} public: + using iterator_category = std::forward_iterator_tag; + using value_type = T; + using difference_type = std::ptrdiff_t; + using pointer = value_type *; + using reference = value_type &; + iterator() noexcept = default; constexpr bool operator==(const iterator &other) const noexcept { @@ -283,9 +287,7 @@ public: return {&ToNode(t)}; } - class const_iterator final - : public std::iterator { - + class const_iterator final { friend IntrusiveList; const IntrusiveListNode *cursor; @@ -294,6 +296,12 @@ public: :cursor(_cursor) {} public: + using iterator_category = std::forward_iterator_tag; + using value_type = const T; + using difference_type = std::ptrdiff_t; + using pointer = value_type *; + using reference = value_type &; + const_iterator() noexcept = default; const_iterator(iterator src) noexcept