🔀 Merge branch 'develop' into feature/messagepack
This commit is contained in:
parent
dc6fc3e079
commit
a59eb4868a
3 changed files with 23 additions and 36 deletions
|
@ -537,6 +537,7 @@ I deeply appreciate the help of the following people.
|
||||||
- [Pierre-Antoine Lacaze](https://github.com/palacaze) found a subtle bug in the `dump()` function.
|
- [Pierre-Antoine Lacaze](https://github.com/palacaze) found a subtle bug in the `dump()` function.
|
||||||
- [TurpentineDistillery](https://github.com/TurpentineDistillery) pointed to [`std::locale::classic()`](http://en.cppreference.com/w/cpp/locale/locale/classic) to avoid too much locale joggling, found some nice performance improvements in the parser and improved the benchmarking code.
|
- [TurpentineDistillery](https://github.com/TurpentineDistillery) pointed to [`std::locale::classic()`](http://en.cppreference.com/w/cpp/locale/locale/classic) to avoid too much locale joggling, found some nice performance improvements in the parser and improved the benchmarking code.
|
||||||
- [cgzones](https://github.com/cgzones) had an idea how to fix the Coverity scan.
|
- [cgzones](https://github.com/cgzones) had an idea how to fix the Coverity scan.
|
||||||
|
- [Jared Grubb](https://github.com/jaredgrubb) silenced a nasty documentation warning.
|
||||||
|
|
||||||
Thanks a lot for helping out!
|
Thanks a lot for helping out!
|
||||||
|
|
||||||
|
|
29
src/json.hpp
29
src/json.hpp
|
@ -73,6 +73,7 @@ SOFTWARE.
|
||||||
#if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__)
|
#if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__)
|
||||||
#pragma GCC diagnostic push
|
#pragma GCC diagnostic push
|
||||||
#pragma GCC diagnostic ignored "-Wfloat-equal"
|
#pragma GCC diagnostic ignored "-Wfloat-equal"
|
||||||
|
#pragma GCC diagnostic ignored "-Wdocumentation"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// allow for portable deprecation warnings
|
// allow for portable deprecation warnings
|
||||||
|
@ -944,7 +945,7 @@ class basic_json
|
||||||
|
|
||||||
With a parser callback function, the result of parsing a JSON text can be
|
With a parser callback function, the result of parsing a JSON text can be
|
||||||
influenced. When passed to @ref parse(std::istream&, const
|
influenced. When passed to @ref parse(std::istream&, const
|
||||||
parser_callback_t) or @ref parse(const char*, const parser_callback_t),
|
parser_callback_t) or @ref parse(const CharT, const parser_callback_t),
|
||||||
it is called on certain events (passed as @ref parse_event_t via parameter
|
it is called on certain events (passed as @ref parse_event_t via parameter
|
||||||
@a event) with a set recursion depth @a depth and context JSON value
|
@a event) with a set recursion depth @a depth and context JSON value
|
||||||
@a parsed. The return value of the callback function is a boolean
|
@a parsed. The return value of the callback function is a boolean
|
||||||
|
@ -987,7 +988,7 @@ class basic_json
|
||||||
skipped completely or replaced by an empty discarded object.
|
skipped completely or replaced by an empty discarded object.
|
||||||
|
|
||||||
@sa @ref parse(std::istream&, parser_callback_t) or
|
@sa @ref parse(std::istream&, parser_callback_t) or
|
||||||
@ref parse(const char*, parser_callback_t) for examples
|
@ref parse(const CharT, const parser_callback_t) for examples
|
||||||
|
|
||||||
@since version 1.0.0
|
@since version 1.0.0
|
||||||
*/
|
*/
|
||||||
|
@ -6003,11 +6004,11 @@ class basic_json
|
||||||
|
|
||||||
@since version 1.0.0 (originally for @ref string_t)
|
@since version 1.0.0 (originally for @ref string_t)
|
||||||
*/
|
*/
|
||||||
template<typename CharPT, typename std::enable_if<
|
template<typename CharT, typename std::enable_if<
|
||||||
std::is_pointer<CharPT>::value and
|
std::is_pointer<CharT>::value and
|
||||||
std::is_integral<typename std::remove_pointer<CharPT>::type>::value and
|
std::is_integral<typename std::remove_pointer<CharT>::type>::value and
|
||||||
sizeof(typename std::remove_pointer<CharPT>::type) == 1, int>::type = 0>
|
sizeof(typename std::remove_pointer<CharT>::type) == 1, int>::type = 0>
|
||||||
static basic_json parse(const CharPT s,
|
static basic_json parse(const CharT s,
|
||||||
const parser_callback_t cb = nullptr)
|
const parser_callback_t cb = nullptr)
|
||||||
{
|
{
|
||||||
return parser(reinterpret_cast<const char*>(s), cb).parse();
|
return parser(reinterpret_cast<const char*>(s), cb).parse();
|
||||||
|
@ -6032,7 +6033,7 @@ class basic_json
|
||||||
@liveexample{The example below demonstrates the `parse()` function with
|
@liveexample{The example below demonstrates the `parse()` function with
|
||||||
and without callback function.,parse__istream__parser_callback_t}
|
and without callback function.,parse__istream__parser_callback_t}
|
||||||
|
|
||||||
@sa @ref parse(const char*, const parser_callback_t) for a version
|
@sa @ref parse(const CharT, const parser_callback_t) for a version
|
||||||
that reads from a string
|
that reads from a string
|
||||||
|
|
||||||
@since version 1.0.0
|
@since version 1.0.0
|
||||||
|
@ -10494,8 +10495,6 @@ basic_json_parser_66:
|
||||||
supplied via the first parameter. Set this to @a
|
supplied via the first parameter. Set this to @a
|
||||||
static_cast<number_float_t*>(nullptr).
|
static_cast<number_float_t*>(nullptr).
|
||||||
|
|
||||||
@param[in] type the @ref number_float_t in use
|
|
||||||
|
|
||||||
@param[in,out] endptr recieves a pointer to the first character after
|
@param[in,out] endptr recieves a pointer to the first character after
|
||||||
the number
|
the number
|
||||||
|
|
||||||
|
@ -10514,8 +10513,6 @@ basic_json_parser_66:
|
||||||
supplied via the first parameter. Set this to @a
|
supplied via the first parameter. Set this to @a
|
||||||
static_cast<number_float_t*>(nullptr).
|
static_cast<number_float_t*>(nullptr).
|
||||||
|
|
||||||
@param[in] type the @ref number_float_t in use
|
|
||||||
|
|
||||||
@param[in,out] endptr recieves a pointer to the first character after
|
@param[in,out] endptr recieves a pointer to the first character after
|
||||||
the number
|
the number
|
||||||
|
|
||||||
|
@ -10534,8 +10531,6 @@ basic_json_parser_66:
|
||||||
supplied via the first parameter. Set this to @a
|
supplied via the first parameter. Set this to @a
|
||||||
static_cast<number_float_t*>(nullptr).
|
static_cast<number_float_t*>(nullptr).
|
||||||
|
|
||||||
@param[in] type the @ref number_float_t in use
|
|
||||||
|
|
||||||
@param[in,out] endptr recieves a pointer to the first character after
|
@param[in,out] endptr recieves a pointer to the first character after
|
||||||
the number
|
the number
|
||||||
|
|
||||||
|
@ -11423,13 +11418,11 @@ basic_json_parser_66:
|
||||||
/*!
|
/*!
|
||||||
@brief replace all occurrences of a substring by another string
|
@brief replace all occurrences of a substring by another string
|
||||||
|
|
||||||
@param[in,out] s the string to manipulate
|
@param[in,out] s the string to manipulate; changed so that all
|
||||||
|
occurrences of @a f are replaced with @a t
|
||||||
@param[in] f the substring to replace with @a t
|
@param[in] f the substring to replace with @a t
|
||||||
@param[in] t the string to replace @a f
|
@param[in] t the string to replace @a f
|
||||||
|
|
||||||
@return The string @a s where all occurrences of @a f are replaced
|
|
||||||
with @a t.
|
|
||||||
|
|
||||||
@pre The search string @a f must not be empty.
|
@pre The search string @a f must not be empty.
|
||||||
|
|
||||||
@since version 2.0.0
|
@since version 2.0.0
|
||||||
|
|
|
@ -73,6 +73,7 @@ SOFTWARE.
|
||||||
#if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__)
|
#if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__)
|
||||||
#pragma GCC diagnostic push
|
#pragma GCC diagnostic push
|
||||||
#pragma GCC diagnostic ignored "-Wfloat-equal"
|
#pragma GCC diagnostic ignored "-Wfloat-equal"
|
||||||
|
#pragma GCC diagnostic ignored "-Wdocumentation"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// allow for portable deprecation warnings
|
// allow for portable deprecation warnings
|
||||||
|
@ -944,7 +945,7 @@ class basic_json
|
||||||
|
|
||||||
With a parser callback function, the result of parsing a JSON text can be
|
With a parser callback function, the result of parsing a JSON text can be
|
||||||
influenced. When passed to @ref parse(std::istream&, const
|
influenced. When passed to @ref parse(std::istream&, const
|
||||||
parser_callback_t) or @ref parse(const char*, const parser_callback_t),
|
parser_callback_t) or @ref parse(const CharT, const parser_callback_t),
|
||||||
it is called on certain events (passed as @ref parse_event_t via parameter
|
it is called on certain events (passed as @ref parse_event_t via parameter
|
||||||
@a event) with a set recursion depth @a depth and context JSON value
|
@a event) with a set recursion depth @a depth and context JSON value
|
||||||
@a parsed. The return value of the callback function is a boolean
|
@a parsed. The return value of the callback function is a boolean
|
||||||
|
@ -987,7 +988,7 @@ class basic_json
|
||||||
skipped completely or replaced by an empty discarded object.
|
skipped completely or replaced by an empty discarded object.
|
||||||
|
|
||||||
@sa @ref parse(std::istream&, parser_callback_t) or
|
@sa @ref parse(std::istream&, parser_callback_t) or
|
||||||
@ref parse(const char*, parser_callback_t) for examples
|
@ref parse(const CharT, const parser_callback_t) for examples
|
||||||
|
|
||||||
@since version 1.0.0
|
@since version 1.0.0
|
||||||
*/
|
*/
|
||||||
|
@ -6003,11 +6004,11 @@ class basic_json
|
||||||
|
|
||||||
@since version 1.0.0 (originally for @ref string_t)
|
@since version 1.0.0 (originally for @ref string_t)
|
||||||
*/
|
*/
|
||||||
template<typename CharPT, typename std::enable_if<
|
template<typename CharT, typename std::enable_if<
|
||||||
std::is_pointer<CharPT>::value and
|
std::is_pointer<CharT>::value and
|
||||||
std::is_integral<typename std::remove_pointer<CharPT>::type>::value and
|
std::is_integral<typename std::remove_pointer<CharT>::type>::value and
|
||||||
sizeof(typename std::remove_pointer<CharPT>::type) == 1, int>::type = 0>
|
sizeof(typename std::remove_pointer<CharT>::type) == 1, int>::type = 0>
|
||||||
static basic_json parse(const CharPT s,
|
static basic_json parse(const CharT s,
|
||||||
const parser_callback_t cb = nullptr)
|
const parser_callback_t cb = nullptr)
|
||||||
{
|
{
|
||||||
return parser(reinterpret_cast<const char*>(s), cb).parse();
|
return parser(reinterpret_cast<const char*>(s), cb).parse();
|
||||||
|
@ -6032,7 +6033,7 @@ class basic_json
|
||||||
@liveexample{The example below demonstrates the `parse()` function with
|
@liveexample{The example below demonstrates the `parse()` function with
|
||||||
and without callback function.,parse__istream__parser_callback_t}
|
and without callback function.,parse__istream__parser_callback_t}
|
||||||
|
|
||||||
@sa @ref parse(const char*, const parser_callback_t) for a version
|
@sa @ref parse(const CharT, const parser_callback_t) for a version
|
||||||
that reads from a string
|
that reads from a string
|
||||||
|
|
||||||
@since version 1.0.0
|
@since version 1.0.0
|
||||||
|
@ -9644,8 +9645,6 @@ class basic_json
|
||||||
supplied via the first parameter. Set this to @a
|
supplied via the first parameter. Set this to @a
|
||||||
static_cast<number_float_t*>(nullptr).
|
static_cast<number_float_t*>(nullptr).
|
||||||
|
|
||||||
@param[in] type the @ref number_float_t in use
|
|
||||||
|
|
||||||
@param[in,out] endptr recieves a pointer to the first character after
|
@param[in,out] endptr recieves a pointer to the first character after
|
||||||
the number
|
the number
|
||||||
|
|
||||||
|
@ -9664,8 +9663,6 @@ class basic_json
|
||||||
supplied via the first parameter. Set this to @a
|
supplied via the first parameter. Set this to @a
|
||||||
static_cast<number_float_t*>(nullptr).
|
static_cast<number_float_t*>(nullptr).
|
||||||
|
|
||||||
@param[in] type the @ref number_float_t in use
|
|
||||||
|
|
||||||
@param[in,out] endptr recieves a pointer to the first character after
|
@param[in,out] endptr recieves a pointer to the first character after
|
||||||
the number
|
the number
|
||||||
|
|
||||||
|
@ -9684,8 +9681,6 @@ class basic_json
|
||||||
supplied via the first parameter. Set this to @a
|
supplied via the first parameter. Set this to @a
|
||||||
static_cast<number_float_t*>(nullptr).
|
static_cast<number_float_t*>(nullptr).
|
||||||
|
|
||||||
@param[in] type the @ref number_float_t in use
|
|
||||||
|
|
||||||
@param[in,out] endptr recieves a pointer to the first character after
|
@param[in,out] endptr recieves a pointer to the first character after
|
||||||
the number
|
the number
|
||||||
|
|
||||||
|
@ -10573,13 +10568,11 @@ class basic_json
|
||||||
/*!
|
/*!
|
||||||
@brief replace all occurrences of a substring by another string
|
@brief replace all occurrences of a substring by another string
|
||||||
|
|
||||||
@param[in,out] s the string to manipulate
|
@param[in,out] s the string to manipulate; changed so that all
|
||||||
|
occurrences of @a f are replaced with @a t
|
||||||
@param[in] f the substring to replace with @a t
|
@param[in] f the substring to replace with @a t
|
||||||
@param[in] t the string to replace @a f
|
@param[in] t the string to replace @a f
|
||||||
|
|
||||||
@return The string @a s where all occurrences of @a f are replaced
|
|
||||||
with @a t.
|
|
||||||
|
|
||||||
@pre The search string @a f must not be empty.
|
@pre The search string @a f must not be empty.
|
||||||
|
|
||||||
@since version 2.0.0
|
@since version 2.0.0
|
||||||
|
|
Loading…
Reference in a new issue