mirror of
https://github.com/nlohmann/json.git
synced 2024-12-12 03:49:22 +08:00
🎉 first draft for #661
This commit is contained in:
parent
0ea0d7d860
commit
d1e13d5128
25
src/json.hpp
25
src/json.hpp
@ -12066,6 +12066,31 @@ class basic_json
|
||||
m_value.object->insert(first.m_it.object_iterator, last.m_it.object_iterator);
|
||||
}
|
||||
|
||||
void update(const_reference j)
|
||||
{
|
||||
// implicitly convert null value to an empty object
|
||||
if (is_null())
|
||||
{
|
||||
m_type = value_t::object;
|
||||
m_value.object = create<object_t>();
|
||||
assert_invariant();
|
||||
}
|
||||
|
||||
if (JSON_UNLIKELY(not is_object()))
|
||||
{
|
||||
JSON_THROW(type_error::create(305, "cannot use merge with " + type_name()));
|
||||
}
|
||||
if (JSON_UNLIKELY(not j.is_object()))
|
||||
{
|
||||
JSON_THROW(type_error::create(305, "cannot use merge with " + j.type_name()));
|
||||
}
|
||||
|
||||
for (auto it = j.begin(); it != j.end(); ++it)
|
||||
{
|
||||
m_value.object->emplace(it.key(), it.value());
|
||||
}
|
||||
}
|
||||
|
||||
/*!
|
||||
@brief exchanges the values
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user