mirror of
https://github.com/qpdf/qpdf.git
synced 2024-09-28 04:59:05 +00:00
Stop using std::iterator (fixes #618)
Create the typedefs directly in iterators rather than deriving from the deprecated std::iterator class.
This commit is contained in:
parent
2e476e189a
commit
af3f74de8c
@ -77,12 +77,17 @@ class QPDFNameTreeObjectHelper: public QPDFObjectHelper
|
|||||||
QPDF_DLL
|
QPDF_DLL
|
||||||
bool findObject(std::string const& utf8, QPDFObjectHandle& oh);
|
bool findObject(std::string const& utf8, QPDFObjectHandle& oh);
|
||||||
|
|
||||||
class iterator: public std::iterator<
|
class iterator
|
||||||
std::bidirectional_iterator_tag,
|
|
||||||
std::pair<std::string, QPDFObjectHandle>>
|
|
||||||
{
|
{
|
||||||
friend class QPDFNameTreeObjectHelper;
|
friend class QPDFNameTreeObjectHelper;
|
||||||
public:
|
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;
|
virtual ~iterator() = default;
|
||||||
QPDF_DLL
|
QPDF_DLL
|
||||||
bool valid() const;
|
bool valid() const;
|
||||||
|
@ -96,12 +96,17 @@ class QPDFNumberTreeObjectHelper: public QPDFObjectHelper
|
|||||||
bool findObjectAtOrBelow(numtree_number idx, QPDFObjectHandle& oh,
|
bool findObjectAtOrBelow(numtree_number idx, QPDFObjectHandle& oh,
|
||||||
numtree_number& offset);
|
numtree_number& offset);
|
||||||
|
|
||||||
class iterator: public std::iterator<
|
class iterator
|
||||||
std::bidirectional_iterator_tag,
|
|
||||||
std::pair<numtree_number, QPDFObjectHandle>>
|
|
||||||
{
|
{
|
||||||
friend class QPDFNumberTreeObjectHelper;
|
friend class QPDFNumberTreeObjectHelper;
|
||||||
public:
|
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;
|
virtual ~iterator() = default;
|
||||||
QPDF_DLL
|
QPDF_DLL
|
||||||
bool valid() const;
|
bool valid() const;
|
||||||
|
@ -1479,12 +1479,17 @@ class QPDFObjectHandle::QPDFDictItems
|
|||||||
QPDF_DLL
|
QPDF_DLL
|
||||||
QPDFDictItems(QPDFObjectHandle const& oh);
|
QPDFDictItems(QPDFObjectHandle const& oh);
|
||||||
|
|
||||||
class iterator: public std::iterator<
|
class iterator
|
||||||
std::bidirectional_iterator_tag,
|
|
||||||
std::pair<std::string, QPDFObjectHandle>>
|
|
||||||
{
|
{
|
||||||
friend class QPDFDictItems;
|
friend class QPDFDictItems;
|
||||||
public:
|
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
|
QPDF_DLL
|
||||||
virtual ~iterator() = default;
|
virtual ~iterator() = default;
|
||||||
QPDF_DLL
|
QPDF_DLL
|
||||||
@ -1569,12 +1574,17 @@ class QPDFObjectHandle::QPDFArrayItems
|
|||||||
QPDF_DLL
|
QPDF_DLL
|
||||||
QPDFArrayItems(QPDFObjectHandle const& oh);
|
QPDFArrayItems(QPDFObjectHandle const& oh);
|
||||||
|
|
||||||
class iterator: public std::iterator<
|
class iterator
|
||||||
std::bidirectional_iterator_tag,
|
|
||||||
QPDFObjectHandle>
|
|
||||||
{
|
{
|
||||||
friend class QPDFArrayItems;
|
friend class QPDFArrayItems;
|
||||||
public:
|
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
|
QPDF_DLL
|
||||||
virtual ~iterator() = default;
|
virtual ~iterator() = default;
|
||||||
QPDF_DLL
|
QPDF_DLL
|
||||||
|
@ -17,12 +17,17 @@ class NNTreeDetails
|
|||||||
};
|
};
|
||||||
|
|
||||||
class NNTreeImpl;
|
class NNTreeImpl;
|
||||||
class NNTreeIterator: public std::iterator<
|
class NNTreeIterator
|
||||||
std::bidirectional_iterator_tag,
|
|
||||||
std::pair<QPDFObjectHandle, QPDFObjectHandle>>
|
|
||||||
{
|
{
|
||||||
friend class NNTreeImpl;
|
friend class NNTreeImpl;
|
||||||
public:
|
public:
|
||||||
|
typedef std::pair<QPDFObjectHandle, QPDFObjectHandle> 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;
|
virtual ~NNTreeIterator() = default;
|
||||||
bool valid() const;
|
bool valid() const;
|
||||||
NNTreeIterator& operator++();
|
NNTreeIterator& operator++();
|
||||||
|
Loading…
Reference in New Issue
Block a user