From: Kefu Chai Date: Tue, 1 Mar 2022 16:14:09 +0000 (+0800) Subject: include/xlist: define iterator without std::iterator<> X-Git-Tag: v18.0.0~1321^2~2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=77a3ed56a7b7326814ea5d37214bec1d88ec334e;p=ceph-ci.git include/xlist: define iterator without std::iterator<> std::iterator<> is deprecated in C++17, so let's just define the required traits directly. Signed-off-by: Kefu Chai --- diff --git a/src/include/xlist.h b/src/include/xlist.h index 733a318a9bd..3c04312c714 100644 --- a/src/include/xlist.h +++ b/src/include/xlist.h @@ -159,10 +159,15 @@ public: remove(_back); } - class iterator: std::iterator { + 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(cur->_item); } iterator& operator++() {