From 822b20b06529e2439fe296c5fe1ef277436c5c0b Mon Sep 17 00:00:00 2001 From: Rusty Wagner Date: Tue, 15 Mar 2022 15:33:39 -0400 Subject: Fix usage of deprecated std::iterator in rapidjson --- rapidjson/document.h | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/rapidjson/document.h b/rapidjson/document.h index f873c272..fcb2d663 100644 --- a/rapidjson/document.h +++ b/rapidjson/document.h @@ -99,17 +99,20 @@ struct GenericMember { */ template class GenericMemberIterator - : public std::iterator >::Type> { - +{ friend class GenericValue; template friend class GenericMemberIterator; typedef GenericMember PlainType; typedef typename internal::MaybeAddConst::Type ValueType; - typedef std::iterator BaseType; public: + using iterator_category = std::random_access_iterator_tag; + using value_type = typename internal::MaybeAddConst>::Type; + using difference_type = ptrdiff_t; + using pointer = value_type*; + using reference = value_type&; + //! Iterator type itself typedef GenericMemberIterator Iterator; //! Constant iterator type @@ -118,11 +121,11 @@ public: typedef GenericMemberIterator NonConstIterator; //! Pointer to (const) GenericMember - typedef typename BaseType::pointer Pointer; + typedef pointer Pointer; //! Reference to (const) GenericMember - typedef typename BaseType::reference Reference; + typedef reference Reference; //! Signed integer type (e.g. \c ptrdiff_t) - typedef typename BaseType::difference_type DifferenceType; + typedef difference_type DifferenceType; //! Default constructor (singular value) /*! Creates an iterator pointing to no element. -- cgit v1.3.1