🎉 first draft for #661

parent 0ea0d7d8
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment