From 2b1521b48bb37258822c2ccdf1bd5c26081b7a69 Mon Sep 17 00:00:00 2001 From: Rick Gibbed Date: Sat, 22 Feb 2020 08:15:16 -0600 Subject: [PATCH] Fix deprecated std::iterator usage (STL4015). --- source/utf8/checked.h | 7 ++++++- source/utf8/unchecked.h | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/source/utf8/checked.h b/source/utf8/checked.h index 0567b50..648636e 100644 --- a/source/utf8/checked.h +++ b/source/utf8/checked.h @@ -263,11 +263,16 @@ namespace utf8 // The iterator class template - class iterator : public std::iterator { + class iterator { octet_iterator it; octet_iterator range_start; octet_iterator range_end; public: + typedef uint32_t value_type; + typedef uint32_t* pointer; + typedef uint32_t& reference; + typedef std::ptrdiff_t difference_type; + typedef std::bidirectional_iterator_tag iterator_category; iterator () {} explicit iterator (const octet_iterator& octet_it, const octet_iterator& rangestart, diff --git a/source/utf8/unchecked.h b/source/utf8/unchecked.h index def0009..0e1b51c 100644 --- a/source/utf8/unchecked.h +++ b/source/utf8/unchecked.h @@ -217,9 +217,14 @@ namespace utf8 // The iterator class template - class iterator : public std::iterator { + class iterator { octet_iterator it; public: + typedef uint32_t value_type; + typedef uint32_t* pointer; + typedef uint32_t& reference; + typedef std::ptrdiff_t difference_type; + typedef std::bidirectional_iterator_tag iterator_category; iterator () {} explicit iterator (const octet_iterator& octet_it): it(octet_it) {} // the default "big three" are OK