From 26faac387c237ccac75a56925c6858baf8ccda1b Mon Sep 17 00:00:00 2001 From: Romain Deterre Date: Sun, 29 Mar 2020 18:53:55 -0400 Subject: [PATCH] Remove uses of std::iterator (deprecated in C++17) (#839) --- include/yaml-cpp/node/detail/node_iterator.h | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/include/yaml-cpp/node/detail/node_iterator.h b/include/yaml-cpp/node/detail/node_iterator.h index 43273c1..49dcf95 100644 --- a/include/yaml-cpp/node/detail/node_iterator.h +++ b/include/yaml-cpp/node/detail/node_iterator.h @@ -52,10 +52,7 @@ struct node_iterator_type { }; template -class node_iterator_base - : public std::iterator, - std::ptrdiff_t, node_iterator_value*, - node_iterator_value> { +class node_iterator_base { private: struct enabler {}; @@ -68,9 +65,13 @@ class node_iterator_base }; public: + using iterator_category = std::forward_iterator_tag; + using value_type = node_iterator_value; + using difference_type = std::ptrdiff_t; + using pointer = node_iterator_value*; + using reference = node_iterator_value; using SeqIter = typename node_iterator_type::seq; using MapIter = typename node_iterator_type::map; - using value_type = node_iterator_value; node_iterator_base() : m_type(iterator_type::NoneType), m_seqIt(), m_mapIt(), m_mapEnd() {}