From 11cb1ccdc46a75610f8d42914d8b3409e7d3919c Mon Sep 17 00:00:00 2001 From: Florian Albrechtskirchinger Date: Wed, 29 Jun 2022 08:17:11 +0200 Subject: [PATCH] Fix ordered_map::erase(first, last) with first == last --- include/nlohmann/ordered_map.hpp | 5 +++++ single_include/nlohmann/json.hpp | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/include/nlohmann/ordered_map.hpp b/include/nlohmann/ordered_map.hpp index b7a39888f..d9000791b 100644 --- a/include/nlohmann/ordered_map.hpp +++ b/include/nlohmann/ordered_map.hpp @@ -199,6 +199,11 @@ template , iterator erase(iterator first, iterator last) { + if (first == last) + { + return first; + } + const auto elements_affected = std::distance(first, last); const auto offset = std::distance(Container::begin(), first); diff --git a/single_include/nlohmann/json.hpp b/single_include/nlohmann/json.hpp index 23d763d2c..65670d92c 100644 --- a/single_include/nlohmann/json.hpp +++ b/single_include/nlohmann/json.hpp @@ -18458,6 +18458,11 @@ template , iterator erase(iterator first, iterator last) { + if (first == last) + { + return first; + } + const auto elements_affected = std::distance(first, last); const auto offset = std::distance(Container::begin(), first);