Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/ArthurSonzogni/nlohmann_json_cmake_fetchcontent.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArthurSonzogni <sonzogniarthur@gmail.com>2020-05-01 15:24:42 +0300
committerArthurSonzogni <sonzogniarthur@gmail.com>2020-05-01 15:24:42 +0300
commit9cc0abcc4929522faacbe7fa4c2bd070f401b0aa (patch)
tree957ccddc13d8eac72f718d3a13172b66611dfd0b
parente32954cf60fb4035111eff261915cc0b922adaa6 (diff)
Upstream release v3.7.3old_branch_1
-rw-r--r--include/nlohmann/json.hpp18
1 files changed, 8 insertions, 10 deletions
diff --git a/include/nlohmann/json.hpp b/include/nlohmann/json.hpp
index 443459f..06da815 100644
--- a/include/nlohmann/json.hpp
+++ b/include/nlohmann/json.hpp
@@ -1,7 +1,7 @@
/*
__ _____ _____ _____
__| | __| | | | JSON for Modern C++
-| | |__ | | | | | | version 3.7.2
+| | |__ | | | | | | version 3.7.3
|_____|_____|_____|_|___| https://github.com/nlohmann/json
Licensed under the MIT License <http://opensource.org/licenses/MIT>.
@@ -32,7 +32,7 @@ SOFTWARE.
#define NLOHMANN_JSON_VERSION_MAJOR 3
#define NLOHMANN_JSON_VERSION_MINOR 7
-#define NLOHMANN_JSON_VERSION_PATCH 2
+#define NLOHMANN_JSON_VERSION_PATCH 3
#include <algorithm> // all_of, find, for_each
#include <cassert> // assert
@@ -15496,7 +15496,7 @@ class basic_json
object = nullptr; // silence warning, see #821
if (JSON_HEDLEY_UNLIKELY(t == value_t::null))
{
- JSON_THROW(other_error::create(500, "961c151d2e87f2686a955a9be24d316f1362bf21 3.7.2")); // LCOV_EXCL_LINE
+ JSON_THROW(other_error::create(500, "961c151d2e87f2686a955a9be24d316f1362bf21 3.7.3")); // LCOV_EXCL_LINE
}
break;
}
@@ -15553,14 +15553,13 @@ class basic_json
else if (t == value_t::object)
{
stack.reserve(object->size());
-
for (auto&& it : *object)
{
stack.push_back(std::move(it.second));
}
}
- while (!stack.empty())
+ while (not stack.empty())
{
// move the last item to local variable to be processed
basic_json current_item(std::move(stack.back()));
@@ -15570,8 +15569,6 @@ class basic_json
// its children to the stack to be processed later
if (current_item.is_array())
{
- stack.reserve(stack.size() + current_item.m_value.array->size());
-
std::move(current_item.m_value.array->begin(), current_item.m_value.array->end(),
std::back_inserter(stack));
@@ -15579,15 +15576,16 @@ class basic_json
}
else if (current_item.is_object())
{
- stack.reserve(stack.size() + current_item.m_value.object->size());
-
for (auto&& it : *current_item.m_value.object)
{
stack.push_back(std::move(it.second));
}
+
+ current_item.m_value.object->clear();
}
- // current_item is destroyed here
+ // it's now safe that current_item get destructed
+ // since it doesn't have any children
}
switch (t)