From 0a9a5ab6b7ce946a4d08efb1b85a5e4015c80200 Mon Sep 17 00:00:00 2001 From: Alexander Nevskiy Date: Sat, 13 Jun 2015 00:15:03 +0300 Subject: [PATCH] Minor iterator refactoring. --- src/json.hpp | 52 +++++----------------------------------------------- 1 file changed, 5 insertions(+), 47 deletions(-) diff --git a/src/json.hpp b/src/json.hpp index e85d704fb..64ca73b81 100755 --- a/src/json.hpp +++ b/src/json.hpp @@ -2584,29 +2584,8 @@ class basic_json /// post-increment (it++) const_iterator operator++(int) { - auto result = *this; - - switch (m_object->m_type) - { - case (basic_json::value_t::object): - { - m_it.object_iterator++; - break; - } - - case (basic_json::value_t::array): - { - m_it.array_iterator++; - break; - } - - default: - { - m_it.generic_iterator++; - break; - } - } - + const_iterator result = *this; + ++(*this); return result; } @@ -2640,30 +2619,9 @@ class basic_json /// post-decrement (it--) const_iterator operator--(int) { - auto result = *this; - - switch (m_object->m_type) - { - case (basic_json::value_t::object): - { - m_it.object_iterator--; - break; - } - - case (basic_json::value_t::array): - { - m_it.array_iterator--; - break; - } - - default: - { - m_it.generic_iterator--; - break; - } - } - - return result; + const_iterator result = *this; + --(*this); + return result; } /// pre-decrement (--it)