From: Kefu Chai Date: Mon, 28 Feb 2022 15:01:27 +0000 (+0800) Subject: include/rados: define iterator without std::iterator<> X-Git-Tag: v18.0.0~1321^2~7 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=905969611d256b6613bd86347bd51ddeb0603b79;p=ceph.git include/rados: 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/rados/librados.hpp b/src/include/rados/librados.hpp index 7c883c33648d0..3caa754554090 100644 --- a/src/include/rados/librados.hpp +++ b/src/include/rados/librados.hpp @@ -104,8 +104,13 @@ inline namespace v14_2_0 { }; CEPH_RADOS_API std::ostream& operator<<(std::ostream& os, const librados::ObjectCursor& oc); - class CEPH_RADOS_API NObjectIterator : public std::iterator { + class CEPH_RADOS_API NObjectIterator { public: + using iterator_category = std::forward_iterator_tag; + using value_type = ListObject; + using difference_type = std::ptrdiff_t; + using pointer = ListObject*; + using reference = ListObject&; static const NObjectIterator __EndObjectIterator; NObjectIterator(): impl(NULL) {} ~NObjectIterator();