From f0cc4ef72bdc7d71cbfc1f475c85c97c8c97b3a7 Mon Sep 17 00:00:00 2001 From: HenryLee Date: Sat, 27 May 2017 01:56:20 +1000 Subject: [PATCH] Override n + iterator operator in the iterator --- src/json.hpp | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/json.hpp b/src/json.hpp index 6dfc1831f..1a1f6fb25 100644 --- a/src/json.hpp +++ b/src/json.hpp @@ -9317,18 +9317,29 @@ class basic_json @brief add to iterator @pre The iterator is initialized; i.e. `m_object != nullptr`. */ - iter_impl operator+(difference_type i) + iter_impl operator+(difference_type i) const { auto result = *this; result += i; return result; } + /*! + @brief addition of distance and iterator + @pre The iterator is initialized; i.e. `m_object != nullptr`. + */ + friend iter_impl operator+(difference_type i, const iter_impl& it) + { + auto result = it; + result += i; + return result; + } + /*! @brief subtract from iterator @pre The iterator is initialized; i.e. `m_object != nullptr`. */ - iter_impl operator-(difference_type i) + iter_impl operator-(difference_type i) const { auto result = *this; result -= i;