forked from Research/WhisperCom
2.1 KiB
2.1 KiB
basic_json::update
// (1)
void update(const_reference j);
// (2)
void update(const_iterator first, const_iterator last);
- Inserts all values from JSON object
j
and overwrites existing keys. - Inserts all values from from range
[first, last)
and overwrites existing keys.
The function is motivated by Python's dict.update function.
Parameters
j
(in)- JSON object to read values from
first
(in)- begin of the range of elements to insert
last
(in)- end of the range of elements to insert
Exceptions
- The function can throw the following exceptions:
- Throws
type_error.312
if called on JSON values other than objects; example:"cannot use update() with string"
- Throws
- The function can throw thw following exceptions:
- Throws
type_error.312
if called on JSON values other than objects; example:"cannot use update() with string"
- Throws
invalid_iterator.202
if called on an iterator which does not belong to the current JSON value; example:"iterator does not fit current value"
- Throws
invalid_iterator.210
iffirst
andlast
do not belong to the same JSON value; example:"iterators do not fit"
- Throws
Complexity
- O(N*log(size() + N)), where N is the number of elements to insert.
- O(N*log(size() + N)), where N is the number of elements to insert.
Example
??? example
The example shows how `update()` is used.
```cpp
--8<-- "examples/update.cpp"
```
Output:
```json
--8<-- "examples/update.output"
```
??? example
The example shows how `update()` is used.
```cpp
--8<-- "examples/update__range.cpp"
```
Output:
```json
--8<-- "examples/update__range.output"
```
Version history
- Added in version 3.0.0.