From: Kefu Chai Date: Tue, 1 Mar 2022 16:14:09 +0000 (+0800) Subject: include/xlist: define iterator without std::iterator<> X-Git-Tag: v17.2.7~203^2~12 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=a1e446936297afe2d1ecccee7e897112c659bd76;p=ceph.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 (cherry picked from commit 77a3ed56a7b7326814ea5d37214bec1d88ec334e) --- diff --git a/src/include/xlist.h b/src/include/xlist.h index 49510a7f1d2..73e6d8d5353 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++() {