mirror of
https://github.com/nlohmann/json.git
synced 2024-08-23 05:22:28 +02:00
🔀 merge branch 'develop' into TurpentineDistillery-feature/locale_independent_str_to_num
This commit is contained in:
commit
926af6d50b
10
README.md
10
README.md
|
@ -4,6 +4,7 @@
|
||||||
[![Build Status](https://ci.appveyor.com/api/projects/status/1acb366xfyg3qybk/branch/develop?svg=true)](https://ci.appveyor.com/project/nlohmann/json)
|
[![Build Status](https://ci.appveyor.com/api/projects/status/1acb366xfyg3qybk/branch/develop?svg=true)](https://ci.appveyor.com/project/nlohmann/json)
|
||||||
[![Coverage Status](https://img.shields.io/coveralls/nlohmann/json.svg)](https://coveralls.io/r/nlohmann/json)
|
[![Coverage Status](https://img.shields.io/coveralls/nlohmann/json.svg)](https://coveralls.io/r/nlohmann/json)
|
||||||
[![Coverity Scan Build Status](https://scan.coverity.com/projects/5550/badge.svg)](https://scan.coverity.com/projects/nlohmann-json)
|
[![Coverity Scan Build Status](https://scan.coverity.com/projects/5550/badge.svg)](https://scan.coverity.com/projects/nlohmann-json)
|
||||||
|
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/f3732b3327e34358a0e9d1fe9f661f08)](https://www.codacy.com/app/nlohmann/json?utm_source=github.com&utm_medium=referral&utm_content=nlohmann/json&utm_campaign=Badge_Grade)
|
||||||
[![Try online](https://img.shields.io/badge/try-online-blue.svg)](http://melpon.org/wandbox/permlink/4NEU6ZZMoM9lpIex)
|
[![Try online](https://img.shields.io/badge/try-online-blue.svg)](http://melpon.org/wandbox/permlink/4NEU6ZZMoM9lpIex)
|
||||||
[![Documentation](https://img.shields.io/badge/docs-doxygen-blue.svg)](http://nlohmann.github.io/json)
|
[![Documentation](https://img.shields.io/badge/docs-doxygen-blue.svg)](http://nlohmann.github.io/json)
|
||||||
[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/nlohmann/json/master/LICENSE.MIT)
|
[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/nlohmann/json/master/LICENSE.MIT)
|
||||||
|
@ -25,6 +26,7 @@
|
||||||
- [Supported compilers](#supported-compilers)
|
- [Supported compilers](#supported-compilers)
|
||||||
- [License](#license)
|
- [License](#license)
|
||||||
- [Thanks](#thanks)
|
- [Thanks](#thanks)
|
||||||
|
- [Projects using JSON for Modern C++](#projects-using-json-for-modern-c)
|
||||||
- [Notes](#notes)
|
- [Notes](#notes)
|
||||||
- [Execute unit tests](#execute-unit-tests)
|
- [Execute unit tests](#execute-unit-tests)
|
||||||
|
|
||||||
|
@ -168,7 +170,7 @@ auto j2 = R"(
|
||||||
)"_json;
|
)"_json;
|
||||||
```
|
```
|
||||||
|
|
||||||
Note that without appending the `_json` suffix, the passed string literal is not parsed, but just used as JSON string value. That is, `json j = "{ \"happy\": true, \"pi\": 3.141 }"` would just store the string `"{ "happy": true, "pi": 3.141 }"` rather than parsing the acutal object.
|
Note that without appending the `_json` suffix, the passed string literal is not parsed, but just used as JSON string value. That is, `json j = "{ \"happy\": true, \"pi\": 3.141 }"` would just store the string `"{ "happy": true, "pi": 3.141 }"` rather than parsing the actual object.
|
||||||
|
|
||||||
The above example can also be expressed explicitly using `json::parse()`:
|
The above example can also be expressed explicitly using `json::parse()`:
|
||||||
|
|
||||||
|
@ -820,11 +822,17 @@ I deeply appreciate the help of the following people.
|
||||||
- [EnricoBilla](https://github.com/EnricoBilla) noted a typo in an example.
|
- [EnricoBilla](https://github.com/EnricoBilla) noted a typo in an example.
|
||||||
- [Martin Hořeňovský](https://github.com/horenmar) found a way for a 2x speedup for the compilation time of the test suite.
|
- [Martin Hořeňovský](https://github.com/horenmar) found a way for a 2x speedup for the compilation time of the test suite.
|
||||||
- [ukhegg](https://github.com/ukhegg) found proposed an improvement for the examples section.
|
- [ukhegg](https://github.com/ukhegg) found proposed an improvement for the examples section.
|
||||||
|
- [rswanson-ihi](https://github.com/rswanson-ihi) noted a type in the README.
|
||||||
|
|
||||||
|
|
||||||
Thanks a lot for helping out! Please [let me know](mailto:mail@nlohmann.me) if I forgot someone.
|
Thanks a lot for helping out! Please [let me know](mailto:mail@nlohmann.me) if I forgot someone.
|
||||||
|
|
||||||
|
|
||||||
|
## Projects using JSON for Modern C++
|
||||||
|
|
||||||
|
The library is currently used in Apple macOS Sierra and iOS 10. I am not sure what they are using the library for, but I am happy that it runs on so many devices.
|
||||||
|
|
||||||
|
|
||||||
## Notes
|
## Notes
|
||||||
|
|
||||||
- The code contains numerous debug **assertions** which can be switched off by defining the preprocessor macro `NDEBUG`, see the [documentation of `assert`](http://en.cppreference.com/w/cpp/error/assert). In particular, note [`operator[]`](https://nlohmann.github.io/json/classnlohmann_1_1basic__json_a2e26bd0b0168abb61f67ad5bcd5b9fa1.html#a2e26bd0b0168abb61f67ad5bcd5b9fa1) implements **unchecked access** for const objects: If the given key is not present, the behavior is undefined (think of a dereferenced null pointer) and yields an [assertion failure](https://github.com/nlohmann/json/issues/289) if assertions are switched on. If you are not sure whether an element in an object exists, use checked access with the [`at()` function](https://nlohmann.github.io/json/classnlohmann_1_1basic__json_a674de1ee73e6bf4843fc5dc1351fb726.html#a674de1ee73e6bf4843fc5dc1351fb726).
|
- The code contains numerous debug **assertions** which can be switched off by defining the preprocessor macro `NDEBUG`, see the [documentation of `assert`](http://en.cppreference.com/w/cpp/error/assert). In particular, note [`operator[]`](https://nlohmann.github.io/json/classnlohmann_1_1basic__json_a2e26bd0b0168abb61f67ad5bcd5b9fa1.html#a2e26bd0b0168abb61f67ad5bcd5b9fa1) implements **unchecked access** for const objects: If the given key is not present, the behavior is undefined (think of a dereferenced null pointer) and yields an [assertion failure](https://github.com/nlohmann/json/issues/289) if assertions are switched on. If you are not sure whether an element in an object exists, use checked access with the [`at()` function](https://nlohmann.github.io/json/classnlohmann_1_1basic__json_a674de1ee73e6bf4843fc5dc1351fb726.html#a674de1ee73e6bf4843fc5dc1351fb726).
|
||||||
|
|
BIN
doc/usages/ios.png
Executable file
BIN
doc/usages/ios.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 204 KiB |
BIN
doc/usages/macos.png
Normal file
BIN
doc/usages/macos.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.2 MiB |
32
src/json.hpp
32
src/json.hpp
|
@ -1106,7 +1106,7 @@ class basic_json
|
||||||
/*!
|
/*!
|
||||||
@brief returns version information on the library
|
@brief returns version information on the library
|
||||||
|
|
||||||
This function returns a JSON object with infiormation about the library,
|
This function returns a JSON object with information about the library,
|
||||||
including the version number and information on the platform and compiler.
|
including the version number and information on the platform and compiler.
|
||||||
|
|
||||||
@return JSON object holding version information
|
@return JSON object holding version information
|
||||||
|
@ -3417,7 +3417,7 @@ class basic_json
|
||||||
/*!
|
/*!
|
||||||
@brief get a reference value (implicit)
|
@brief get a reference value (implicit)
|
||||||
|
|
||||||
Implict reference access to the internally stored JSON value. No copies
|
Implicit reference access to the internally stored JSON value. No copies
|
||||||
are made.
|
are made.
|
||||||
|
|
||||||
@warning Writing data to the referee of the result yields an undefined
|
@warning Writing data to the referee of the result yields an undefined
|
||||||
|
@ -3492,7 +3492,7 @@ class basic_json
|
||||||
template < typename ValueType, typename std::enable_if <
|
template < typename ValueType, typename std::enable_if <
|
||||||
not std::is_pointer<ValueType>::value and
|
not std::is_pointer<ValueType>::value and
|
||||||
not std::is_same<ValueType, typename string_t::value_type>::value
|
not std::is_same<ValueType, typename string_t::value_type>::value
|
||||||
#ifndef _MSC_VER // fix for issue #167 operator<< abiguity under VS2015
|
#ifndef _MSC_VER // fix for issue #167 operator<< ambiguity under VS2015
|
||||||
and not std::is_same<ValueType, std::initializer_list<typename string_t::value_type>>::value
|
and not std::is_same<ValueType, std::initializer_list<typename string_t::value_type>>::value
|
||||||
#endif
|
#endif
|
||||||
, int >::type = 0 >
|
, int >::type = 0 >
|
||||||
|
@ -4285,7 +4285,7 @@ class basic_json
|
||||||
|
|
||||||
@complexity The complexity depends on the type:
|
@complexity The complexity depends on the type:
|
||||||
- objects: amortized constant
|
- objects: amortized constant
|
||||||
- arrays: linear in distance between pos and the end of the container
|
- arrays: linear in distance between @a pos and the end of the container
|
||||||
- strings: linear in the length of the string
|
- strings: linear in the length of the string
|
||||||
- other types: constant
|
- other types: constant
|
||||||
|
|
||||||
|
@ -5537,7 +5537,7 @@ class basic_json
|
||||||
@throw std::domain_error if @a pos is not an iterator of *this; example:
|
@throw std::domain_error if @a pos is not an iterator of *this; example:
|
||||||
`"iterator does not fit current value"`
|
`"iterator does not fit current value"`
|
||||||
|
|
||||||
@complexity Constant plus linear in the distance between pos and end of
|
@complexity Constant plus linear in the distance between @a pos and end of
|
||||||
the container.
|
the container.
|
||||||
|
|
||||||
@liveexample{The example shows how `insert()` is used.,insert}
|
@liveexample{The example shows how `insert()` is used.,insert}
|
||||||
|
@ -6234,7 +6234,7 @@ class basic_json
|
||||||
`std::setw(4)` on @a o sets the indentation level to `4` and the
|
`std::setw(4)` on @a o sets the indentation level to `4` and the
|
||||||
serialization result is the same as calling `dump(4)`.
|
serialization result is the same as calling `dump(4)`.
|
||||||
|
|
||||||
@note During serializaion, the locale and the precision of the output
|
@note During serialization, the locale and the precision of the output
|
||||||
stream @a o are changed. The original values are restored when the
|
stream @a o are changed. The original values are restored when the
|
||||||
function returns.
|
function returns.
|
||||||
|
|
||||||
|
@ -10624,7 +10624,7 @@ basic_json_parser_66:
|
||||||
if (m_stream == nullptr or m_stream->eof())
|
if (m_stream == nullptr or m_stream->eof())
|
||||||
{
|
{
|
||||||
// m_start may or may not be pointing into m_line_buffer at
|
// m_start may or may not be pointing into m_line_buffer at
|
||||||
// this point. We trust the standand library to do the right
|
// this point. We trust the standard library to do the right
|
||||||
// thing. See http://stackoverflow.com/q/28142011/266378
|
// thing. See http://stackoverflow.com/q/28142011/266378
|
||||||
m_line_buffer.assign(m_start, m_limit);
|
m_line_buffer.assign(m_start, m_limit);
|
||||||
|
|
||||||
|
@ -10712,7 +10712,7 @@ basic_json_parser_66:
|
||||||
m_start + 1 + x < m_cursor - 1 must hold to loop indefinitely. This
|
m_start + 1 + x < m_cursor - 1 must hold to loop indefinitely. This
|
||||||
can be rephrased to m_cursor - m_start - 2 > x. With the
|
can be rephrased to m_cursor - m_start - 2 > x. With the
|
||||||
precondition, we x <= 0, meaning that the loop condition holds
|
precondition, we x <= 0, meaning that the loop condition holds
|
||||||
indefinitly if i is always decreased. However, observe that the value
|
indefinitely if i is always decreased. However, observe that the value
|
||||||
of i is strictly increasing with each iteration, as it is incremented
|
of i is strictly increasing with each iteration, as it is incremented
|
||||||
by 1 in the iteration expression and never decremented inside the loop
|
by 1 in the iteration expression and never decremented inside the loop
|
||||||
body. Hence, the loop condition will eventually be false which
|
body. Hence, the loop condition will eventually be false which
|
||||||
|
@ -11645,7 +11645,7 @@ basic_json_parser_66:
|
||||||
|
|
||||||
if (reference_token == "-")
|
if (reference_token == "-")
|
||||||
{
|
{
|
||||||
// explicityly treat "-" as index beyond the end
|
// explicitly treat "-" as index beyond the end
|
||||||
ptr = &ptr->operator[](ptr->m_value.array->size());
|
ptr = &ptr->operator[](ptr->m_value.array->size());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -12152,7 +12152,7 @@ basic_json_parser_66:
|
||||||
primitive. The original JSON value can be restored using the @ref
|
primitive. The original JSON value can be restored using the @ref
|
||||||
unflatten() function.
|
unflatten() function.
|
||||||
|
|
||||||
@return an object that maps JSON pointers to primitve values
|
@return an object that maps JSON pointers to primitive values
|
||||||
|
|
||||||
@note Empty objects and arrays are flattened to `null` and will not be
|
@note Empty objects and arrays are flattened to `null` and will not be
|
||||||
reconstructed correctly by the @ref unflatten() function.
|
reconstructed correctly by the @ref unflatten() function.
|
||||||
|
@ -12219,7 +12219,7 @@ basic_json_parser_66:
|
||||||
|
|
||||||
[JSON Patch](http://jsonpatch.com) defines a JSON document structure for
|
[JSON Patch](http://jsonpatch.com) defines a JSON document structure for
|
||||||
expressing a sequence of operations to apply to a JSON) document. With
|
expressing a sequence of operations to apply to a JSON) document. With
|
||||||
this funcion, a JSON Patch is applied to the current JSON value by
|
this function, a JSON Patch is applied to the current JSON value by
|
||||||
executing all operations from the patch.
|
executing all operations from the patch.
|
||||||
|
|
||||||
@param[in] json_patch JSON patch document
|
@param[in] json_patch JSON patch document
|
||||||
|
@ -12387,7 +12387,7 @@ basic_json_parser_66:
|
||||||
JSON_THROW(std::invalid_argument("JSON patch must be an array of objects"));
|
JSON_THROW(std::invalid_argument("JSON patch must be an array of objects"));
|
||||||
}
|
}
|
||||||
|
|
||||||
// iterate and apply th eoperations
|
// iterate and apply the operations
|
||||||
for (const auto& val : json_patch)
|
for (const auto& val : json_patch)
|
||||||
{
|
{
|
||||||
// wrapper to get a value for an operation
|
// wrapper to get a value for an operation
|
||||||
|
@ -12526,8 +12526,8 @@ basic_json_parser_66:
|
||||||
@note Currently, only `remove`, `add`, and `replace` operations are
|
@note Currently, only `remove`, `add`, and `replace` operations are
|
||||||
generated.
|
generated.
|
||||||
|
|
||||||
@param[in] source JSON value to copare from
|
@param[in] source JSON value to compare from
|
||||||
@param[in] target JSON value to copare against
|
@param[in] target JSON value to compare against
|
||||||
@param[in] path helper value to create JSON pointers
|
@param[in] path helper value to create JSON pointers
|
||||||
|
|
||||||
@return a JSON patch to convert the @a source to @a target
|
@return a JSON patch to convert the @a source to @a target
|
||||||
|
@ -12776,9 +12776,9 @@ inline nlohmann::json::json_pointer operator "" _json_pointer(const char* s, std
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// clean up
|
// clean up
|
||||||
#undef JSON_THROW
|
|
||||||
#undef JSON_TRY
|
|
||||||
#undef JSON_CATCH
|
#undef JSON_CATCH
|
||||||
#undef JSON_DEPRECATED
|
#undef JSON_DEPRECATED
|
||||||
|
#undef JSON_THROW
|
||||||
|
#undef JSON_TRY
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1106,7 +1106,7 @@ class basic_json
|
||||||
/*!
|
/*!
|
||||||
@brief returns version information on the library
|
@brief returns version information on the library
|
||||||
|
|
||||||
This function returns a JSON object with infiormation about the library,
|
This function returns a JSON object with information about the library,
|
||||||
including the version number and information on the platform and compiler.
|
including the version number and information on the platform and compiler.
|
||||||
|
|
||||||
@return JSON object holding version information
|
@return JSON object holding version information
|
||||||
|
@ -3417,7 +3417,7 @@ class basic_json
|
||||||
/*!
|
/*!
|
||||||
@brief get a reference value (implicit)
|
@brief get a reference value (implicit)
|
||||||
|
|
||||||
Implict reference access to the internally stored JSON value. No copies
|
Implicit reference access to the internally stored JSON value. No copies
|
||||||
are made.
|
are made.
|
||||||
|
|
||||||
@warning Writing data to the referee of the result yields an undefined
|
@warning Writing data to the referee of the result yields an undefined
|
||||||
|
@ -3492,7 +3492,7 @@ class basic_json
|
||||||
template < typename ValueType, typename std::enable_if <
|
template < typename ValueType, typename std::enable_if <
|
||||||
not std::is_pointer<ValueType>::value and
|
not std::is_pointer<ValueType>::value and
|
||||||
not std::is_same<ValueType, typename string_t::value_type>::value
|
not std::is_same<ValueType, typename string_t::value_type>::value
|
||||||
#ifndef _MSC_VER // fix for issue #167 operator<< abiguity under VS2015
|
#ifndef _MSC_VER // fix for issue #167 operator<< ambiguity under VS2015
|
||||||
and not std::is_same<ValueType, std::initializer_list<typename string_t::value_type>>::value
|
and not std::is_same<ValueType, std::initializer_list<typename string_t::value_type>>::value
|
||||||
#endif
|
#endif
|
||||||
, int >::type = 0 >
|
, int >::type = 0 >
|
||||||
|
@ -4285,7 +4285,7 @@ class basic_json
|
||||||
|
|
||||||
@complexity The complexity depends on the type:
|
@complexity The complexity depends on the type:
|
||||||
- objects: amortized constant
|
- objects: amortized constant
|
||||||
- arrays: linear in distance between pos and the end of the container
|
- arrays: linear in distance between @a pos and the end of the container
|
||||||
- strings: linear in the length of the string
|
- strings: linear in the length of the string
|
||||||
- other types: constant
|
- other types: constant
|
||||||
|
|
||||||
|
@ -5537,7 +5537,7 @@ class basic_json
|
||||||
@throw std::domain_error if @a pos is not an iterator of *this; example:
|
@throw std::domain_error if @a pos is not an iterator of *this; example:
|
||||||
`"iterator does not fit current value"`
|
`"iterator does not fit current value"`
|
||||||
|
|
||||||
@complexity Constant plus linear in the distance between pos and end of
|
@complexity Constant plus linear in the distance between @a pos and end of
|
||||||
the container.
|
the container.
|
||||||
|
|
||||||
@liveexample{The example shows how `insert()` is used.,insert}
|
@liveexample{The example shows how `insert()` is used.,insert}
|
||||||
|
@ -6234,7 +6234,7 @@ class basic_json
|
||||||
`std::setw(4)` on @a o sets the indentation level to `4` and the
|
`std::setw(4)` on @a o sets the indentation level to `4` and the
|
||||||
serialization result is the same as calling `dump(4)`.
|
serialization result is the same as calling `dump(4)`.
|
||||||
|
|
||||||
@note During serializaion, the locale and the precision of the output
|
@note During serialization, the locale and the precision of the output
|
||||||
stream @a o are changed. The original values are restored when the
|
stream @a o are changed. The original values are restored when the
|
||||||
function returns.
|
function returns.
|
||||||
|
|
||||||
|
@ -9774,7 +9774,7 @@ class basic_json
|
||||||
if (m_stream == nullptr or m_stream->eof())
|
if (m_stream == nullptr or m_stream->eof())
|
||||||
{
|
{
|
||||||
// m_start may or may not be pointing into m_line_buffer at
|
// m_start may or may not be pointing into m_line_buffer at
|
||||||
// this point. We trust the standand library to do the right
|
// this point. We trust the standard library to do the right
|
||||||
// thing. See http://stackoverflow.com/q/28142011/266378
|
// thing. See http://stackoverflow.com/q/28142011/266378
|
||||||
m_line_buffer.assign(m_start, m_limit);
|
m_line_buffer.assign(m_start, m_limit);
|
||||||
|
|
||||||
|
@ -9862,7 +9862,7 @@ class basic_json
|
||||||
m_start + 1 + x < m_cursor - 1 must hold to loop indefinitely. This
|
m_start + 1 + x < m_cursor - 1 must hold to loop indefinitely. This
|
||||||
can be rephrased to m_cursor - m_start - 2 > x. With the
|
can be rephrased to m_cursor - m_start - 2 > x. With the
|
||||||
precondition, we x <= 0, meaning that the loop condition holds
|
precondition, we x <= 0, meaning that the loop condition holds
|
||||||
indefinitly if i is always decreased. However, observe that the value
|
indefinitely if i is always decreased. However, observe that the value
|
||||||
of i is strictly increasing with each iteration, as it is incremented
|
of i is strictly increasing with each iteration, as it is incremented
|
||||||
by 1 in the iteration expression and never decremented inside the loop
|
by 1 in the iteration expression and never decremented inside the loop
|
||||||
body. Hence, the loop condition will eventually be false which
|
body. Hence, the loop condition will eventually be false which
|
||||||
|
@ -10795,7 +10795,7 @@ class basic_json
|
||||||
|
|
||||||
if (reference_token == "-")
|
if (reference_token == "-")
|
||||||
{
|
{
|
||||||
// explicityly treat "-" as index beyond the end
|
// explicitly treat "-" as index beyond the end
|
||||||
ptr = &ptr->operator[](ptr->m_value.array->size());
|
ptr = &ptr->operator[](ptr->m_value.array->size());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -11302,7 +11302,7 @@ class basic_json
|
||||||
primitive. The original JSON value can be restored using the @ref
|
primitive. The original JSON value can be restored using the @ref
|
||||||
unflatten() function.
|
unflatten() function.
|
||||||
|
|
||||||
@return an object that maps JSON pointers to primitve values
|
@return an object that maps JSON pointers to primitive values
|
||||||
|
|
||||||
@note Empty objects and arrays are flattened to `null` and will not be
|
@note Empty objects and arrays are flattened to `null` and will not be
|
||||||
reconstructed correctly by the @ref unflatten() function.
|
reconstructed correctly by the @ref unflatten() function.
|
||||||
|
@ -11369,7 +11369,7 @@ class basic_json
|
||||||
|
|
||||||
[JSON Patch](http://jsonpatch.com) defines a JSON document structure for
|
[JSON Patch](http://jsonpatch.com) defines a JSON document structure for
|
||||||
expressing a sequence of operations to apply to a JSON) document. With
|
expressing a sequence of operations to apply to a JSON) document. With
|
||||||
this funcion, a JSON Patch is applied to the current JSON value by
|
this function, a JSON Patch is applied to the current JSON value by
|
||||||
executing all operations from the patch.
|
executing all operations from the patch.
|
||||||
|
|
||||||
@param[in] json_patch JSON patch document
|
@param[in] json_patch JSON patch document
|
||||||
|
@ -11537,7 +11537,7 @@ class basic_json
|
||||||
JSON_THROW(std::invalid_argument("JSON patch must be an array of objects"));
|
JSON_THROW(std::invalid_argument("JSON patch must be an array of objects"));
|
||||||
}
|
}
|
||||||
|
|
||||||
// iterate and apply th eoperations
|
// iterate and apply the operations
|
||||||
for (const auto& val : json_patch)
|
for (const auto& val : json_patch)
|
||||||
{
|
{
|
||||||
// wrapper to get a value for an operation
|
// wrapper to get a value for an operation
|
||||||
|
@ -11676,8 +11676,8 @@ class basic_json
|
||||||
@note Currently, only `remove`, `add`, and `replace` operations are
|
@note Currently, only `remove`, `add`, and `replace` operations are
|
||||||
generated.
|
generated.
|
||||||
|
|
||||||
@param[in] source JSON value to copare from
|
@param[in] source JSON value to compare from
|
||||||
@param[in] target JSON value to copare against
|
@param[in] target JSON value to compare against
|
||||||
@param[in] path helper value to create JSON pointers
|
@param[in] path helper value to create JSON pointers
|
||||||
|
|
||||||
@return a JSON patch to convert the @a source to @a target
|
@return a JSON patch to convert the @a source to @a target
|
||||||
|
@ -11926,9 +11926,9 @@ inline nlohmann::json::json_pointer operator "" _json_pointer(const char* s, std
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// clean up
|
// clean up
|
||||||
#undef JSON_THROW
|
|
||||||
#undef JSON_TRY
|
|
||||||
#undef JSON_CATCH
|
#undef JSON_CATCH
|
||||||
#undef JSON_DEPRECATED
|
#undef JSON_DEPRECATED
|
||||||
|
#undef JSON_THROW
|
||||||
|
#undef JSON_TRY
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue