aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2022-02-05 15:58:30 +0100
committerJay Berkenbilt <ejb@ql.org>2022-02-05 17:29:25 +0100
commitaf3f74de8cada6cc9fe0962164f4aca8393b7774 (patch)
treee2e8c35ed4dd568734d63fa36bf47ccbcccd9a0b /include
parent2e476e189a84bebbac04947518f83dc78c6d913b (diff)
downloadqpdf-af3f74de8cada6cc9fe0962164f4aca8393b7774.tar.zst
Stop using std::iterator (fixes #618)
Create the typedefs directly in iterators rather than deriving from the deprecated std::iterator class.
Diffstat (limited to 'include')
-rw-r--r--include/qpdf/QPDFNameTreeObjectHelper.hh11
-rw-r--r--include/qpdf/QPDFNumberTreeObjectHelper.hh11
-rw-r--r--include/qpdf/QPDFObjectHandle.hh22
3 files changed, 32 insertions, 12 deletions
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<std::string, QPDFObjectHandle>>
+ class iterator
{
friend class QPDFNameTreeObjectHelper;
public:
+ typedef std::pair<std::string, QPDFObjectHandle> 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<numtree_number, QPDFObjectHandle>>
+ class iterator
{
friend class QPDFNumberTreeObjectHelper;
public:
+ typedef std::pair<numtree_number, QPDFObjectHandle> 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<std::string, QPDFObjectHandle>>
+ class iterator
{
friend class QPDFDictItems;
public:
+ typedef std::pair<std::string, 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
@@ -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