diff --git a/include/qpdf/QPDFNameTreeObjectHelper.hh b/include/qpdf/QPDFNameTreeObjectHelper.hh index ea395c6a..baa6e5e9 100644 --- a/include/qpdf/QPDFNameTreeObjectHelper.hh +++ b/include/qpdf/QPDFNameTreeObjectHelper.hh @@ -77,12 +77,17 @@ class QPDFNameTreeObjectHelper: public QPDFObjectHelper QPDF_DLL bool findObject(std::string const& utf8, QPDFObjectHandle& oh); - class iterator: public std::iterator< - std::bidirectional_iterator_tag, - std::pair> + class iterator { friend class QPDFNameTreeObjectHelper; public: + typedef std::pair T; + using iterator_category = std::bidirectional_iterator_tag; + using value_type = T; + using difference_type = long; + using pointer = T*; + using reference = T&; + virtual ~iterator() = default; QPDF_DLL bool valid() const; diff --git a/include/qpdf/QPDFNumberTreeObjectHelper.hh b/include/qpdf/QPDFNumberTreeObjectHelper.hh index 4a7bfec0..cfe20b72 100644 --- a/include/qpdf/QPDFNumberTreeObjectHelper.hh +++ b/include/qpdf/QPDFNumberTreeObjectHelper.hh @@ -96,12 +96,17 @@ class QPDFNumberTreeObjectHelper: public QPDFObjectHelper bool findObjectAtOrBelow(numtree_number idx, QPDFObjectHandle& oh, numtree_number& offset); - class iterator: public std::iterator< - std::bidirectional_iterator_tag, - std::pair> + class iterator { friend class QPDFNumberTreeObjectHelper; public: + typedef std::pair T; + using iterator_category = std::bidirectional_iterator_tag; + using value_type = T; + using difference_type = long; + using pointer = T*; + using reference = T&; + virtual ~iterator() = default; QPDF_DLL bool valid() const; diff --git a/include/qpdf/QPDFObjectHandle.hh b/include/qpdf/QPDFObjectHandle.hh index 03d7cb0d..262a84b8 100644 --- a/include/qpdf/QPDFObjectHandle.hh +++ b/include/qpdf/QPDFObjectHandle.hh @@ -1479,12 +1479,17 @@ class QPDFObjectHandle::QPDFDictItems QPDF_DLL QPDFDictItems(QPDFObjectHandle const& oh); - class iterator: public std::iterator< - std::bidirectional_iterator_tag, - std::pair> + class iterator { friend class QPDFDictItems; public: + typedef std::pair T; + using iterator_category = std::bidirectional_iterator_tag; + using value_type = T; + using difference_type = long; + using pointer = T*; + using reference = T&; + QPDF_DLL virtual ~iterator() = default; QPDF_DLL @@ -1569,12 +1574,17 @@ class QPDFObjectHandle::QPDFArrayItems QPDF_DLL QPDFArrayItems(QPDFObjectHandle const& oh); - class iterator: public std::iterator< - std::bidirectional_iterator_tag, - QPDFObjectHandle> + class iterator { friend class QPDFArrayItems; public: + typedef QPDFObjectHandle T; + using iterator_category = std::bidirectional_iterator_tag; + using value_type = T; + using difference_type = long; + using pointer = T*; + using reference = T&; + QPDF_DLL virtual ~iterator() = default; QPDF_DLL diff --git a/libqpdf/qpdf/NNTree.hh b/libqpdf/qpdf/NNTree.hh index f4472662..f9acc0d1 100644 --- a/libqpdf/qpdf/NNTree.hh +++ b/libqpdf/qpdf/NNTree.hh @@ -17,12 +17,17 @@ class NNTreeDetails }; class NNTreeImpl; -class NNTreeIterator: public std::iterator< - std::bidirectional_iterator_tag, - std::pair> +class NNTreeIterator { friend class NNTreeImpl; public: + typedef std::pair T; + using iterator_category = std::bidirectional_iterator_tag; + using value_type = T; + using difference_type = long; + using pointer = T*; + using reference = T&; + virtual ~NNTreeIterator() = default; bool valid() const; NNTreeIterator& operator++();