mirror of
https://github.com/simdjson/simdjson
synced 2026-06-08 17:27:07 +00:00
4.2.4
This commit is contained in:
+1
-1
@@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.14)
|
||||
project(
|
||||
simdjson
|
||||
# The version number is modified by tools/release.py
|
||||
VERSION 4.2.3
|
||||
VERSION 4.2.4
|
||||
DESCRIPTION "Parsing gigabytes of JSON per second"
|
||||
HOMEPAGE_URL "https://simdjson.org/"
|
||||
LANGUAGES CXX C
|
||||
|
||||
@@ -38,7 +38,7 @@ PROJECT_NAME = simdjson
|
||||
# could be handy for archiving the generated documentation or if some version
|
||||
# control system is used.
|
||||
|
||||
PROJECT_NUMBER = "4.2.3"
|
||||
PROJECT_NUMBER = "4.2.4"
|
||||
|
||||
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
||||
# for a project that appears at the top of each page and should give viewer a
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#define SIMDJSON_SIMDJSON_VERSION_H
|
||||
|
||||
/** The version of simdjson being used (major.minor.revision) */
|
||||
#define SIMDJSON_VERSION "4.2.3"
|
||||
#define SIMDJSON_VERSION "4.2.4"
|
||||
|
||||
namespace simdjson {
|
||||
enum {
|
||||
@@ -19,7 +19,7 @@ enum {
|
||||
/**
|
||||
* The revision (major.minor.REVISION) of simdjson being used.
|
||||
*/
|
||||
SIMDJSON_VERSION_REVISION = 3
|
||||
SIMDJSON_VERSION_REVISION = 4
|
||||
};
|
||||
} // namespace simdjson
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* auto-generated on 2025-12-12 17:50:52 -0500. version 4.2.3 Do not edit! */
|
||||
/* auto-generated on 2025-12-17 20:32:36 -0500. version 4.2.4 Do not edit! */
|
||||
/* including simdjson.cpp: */
|
||||
/* begin file simdjson.cpp */
|
||||
#define SIMDJSON_SRC_SIMDJSON_CPP
|
||||
|
||||
+203
-115
@@ -1,4 +1,4 @@
|
||||
/* auto-generated on 2025-12-12 17:50:52 -0500. version 4.2.3 Do not edit! */
|
||||
/* auto-generated on 2025-12-17 20:32:36 -0500. version 4.2.4 Do not edit! */
|
||||
/* including simdjson.h: */
|
||||
/* begin file simdjson.h */
|
||||
#ifndef SIMDJSON_H
|
||||
@@ -2513,7 +2513,7 @@ namespace std {
|
||||
#define SIMDJSON_SIMDJSON_VERSION_H
|
||||
|
||||
/** The version of simdjson being used (major.minor.revision) */
|
||||
#define SIMDJSON_VERSION "4.2.3"
|
||||
#define SIMDJSON_VERSION "4.2.4"
|
||||
|
||||
namespace simdjson {
|
||||
enum {
|
||||
@@ -2528,7 +2528,7 @@ enum {
|
||||
/**
|
||||
* The revision (major.minor.REVISION) of simdjson being used.
|
||||
*/
|
||||
SIMDJSON_VERSION_REVISION = 3
|
||||
SIMDJSON_VERSION_REVISION = 4
|
||||
};
|
||||
} // namespace simdjson
|
||||
|
||||
@@ -35275,7 +35275,9 @@ public:
|
||||
*/
|
||||
simdjson_inline simdjson_result<value> at(size_t index) noexcept;
|
||||
/**
|
||||
* Look up a field by name on an object (order-sensitive).
|
||||
* Look up a field by name on an object (order-sensitive). By order-sensitive, we mean that
|
||||
* fields must be accessed in the order they appear in the JSON text (although you can
|
||||
* skip fields). See find_field_unordered() and operator[] for an order-insensitive version.
|
||||
*
|
||||
* The following code reads z, then y, then x, and thus will not retrieve x or y if fed the
|
||||
* JSON `{ "x": 1, "y": 2, "z": 3 }`:
|
||||
@@ -35309,7 +35311,8 @@ public:
|
||||
* missing case has a non-cache-friendly bump and lots of extra scanning, especially if the object
|
||||
* in question is large. The fact that the extra code is there also bumps the executable size.
|
||||
*
|
||||
* It is the default, however, because it would be highly surprising (and hard to debug) if the
|
||||
* We default operator[] on find_field_unordered() for convenience.
|
||||
* It is the default because it would be highly surprising (and hard to debug) if the
|
||||
* default behavior failed to look up a field just because it was in the wrong order--and many
|
||||
* APIs assume this. Therefore, you must be explicit if you want to treat objects as out of order.
|
||||
*
|
||||
@@ -35656,7 +35659,9 @@ public:
|
||||
simdjson_inline simdjson_result<arm64::ondemand::array_iterator> end() & noexcept;
|
||||
|
||||
/**
|
||||
* Look up a field by name on an object (order-sensitive).
|
||||
* Look up a field by name on an object (order-sensitive). By order-sensitive, we mean that
|
||||
* fields must be accessed in the order they appear in the JSON text (although you can
|
||||
* skip fields). See find_field_unordered() and operator[] for an order-insensitive version.
|
||||
*
|
||||
* The following code reads z, then y, then x, and thus will not retrieve x or y if fed the
|
||||
* JSON `{ "x": 1, "y": 2, "z": 3 }`:
|
||||
@@ -35688,7 +35693,8 @@ public:
|
||||
* missing case has a non-cache-friendly bump and lots of extra scanning, especially if the object
|
||||
* in question is large. The fact that the extra code is there also bumps the executable size.
|
||||
*
|
||||
* It is the default, however, because it would be highly surprising (and hard to debug) if the
|
||||
* We default operator[] on find_field_unordered() for convenience.
|
||||
* It is the defaul because it would be highly surprising (and hard to debug) if the
|
||||
* default behavior failed to look up a field just because it was in the wrong order--and many
|
||||
* APIs assume this. Therefore, you must be explicit if you want to treat objects as out of order.
|
||||
*
|
||||
@@ -37157,9 +37163,8 @@ struct has_custom_serialization : std::false_type {};
|
||||
|
||||
inline constexpr struct serialize_tag {
|
||||
template <typename T>
|
||||
requires custom_deserializable<T>
|
||||
constexpr void operator()(arm64::builder::string_builder& b, T& obj) const{
|
||||
return tag_invoke(*this, b, obj);
|
||||
constexpr void operator()(arm64::builder::string_builder& b, T&& obj) const{
|
||||
return tag_invoke(*this, b, std::forward<T>(obj));
|
||||
}
|
||||
|
||||
|
||||
@@ -37298,7 +37303,7 @@ public:
|
||||
|
||||
template <typename T>
|
||||
requires(require_custom_serialization<T>)
|
||||
simdjson_inline void append(const T &val);
|
||||
simdjson_inline void append(T &&val);
|
||||
|
||||
// Support for string-like types
|
||||
template <typename T>
|
||||
@@ -38234,7 +38239,9 @@ public:
|
||||
simdjson_inline simdjson_result<array_iterator> end() & noexcept;
|
||||
|
||||
/**
|
||||
* Look up a field by name on an object (order-sensitive).
|
||||
* Look up a field by name on an object (order-sensitive). By order-sensitive, we mean that
|
||||
* fields must be accessed in the order they appear in the JSON text (although you can
|
||||
* skip fields). See find_field_unordered() and operator[] for an order-insensitive version.
|
||||
*
|
||||
* The following code reads z, then y, then x, and thus will not retrieve x or y if fed the
|
||||
* JSON `{ "x": 1, "y": 2, "z": 3 }`:
|
||||
@@ -38278,7 +38285,8 @@ public:
|
||||
* missing case has a non-cache-friendly bump and lots of extra scanning, especially if the object
|
||||
* in question is large. The fact that the extra code is there also bumps the executable size.
|
||||
*
|
||||
* It is the default, however, because it would be highly surprising (and hard to debug) if the
|
||||
* We default operator[] on find_field_unordered() for convenience.
|
||||
* It is the default because it would be highly surprising (and hard to debug) if the
|
||||
* default behavior failed to look up a field just because it was in the wrong order--and many
|
||||
* APIs assume this. Therefore, you must be explicit if you want to treat objects as out of order.
|
||||
*
|
||||
@@ -39463,7 +39471,9 @@ public:
|
||||
simdjson_inline simdjson_result<object_iterator> begin() noexcept;
|
||||
simdjson_inline simdjson_result<object_iterator> end() noexcept;
|
||||
/**
|
||||
* Look up a field by name on an object (order-sensitive).
|
||||
* Look up a field by name on an object (order-sensitive). By order-sensitive, we mean that
|
||||
* fields must be accessed in the order they appear in the JSON text (although you can
|
||||
* skip fields). See find_field_unordered() and operator[] for an order-insensitive version.
|
||||
*
|
||||
* The following code reads z, then y, then x, and thus will not retrieve x or y if fed the
|
||||
* JSON `{ "x": 1, "y": 2, "z": 3 }`:
|
||||
@@ -39511,7 +39521,8 @@ public:
|
||||
* missing case has a non-cache-friendly bump and lots of extra scanning, especially if the object
|
||||
* in question is large. The fact that the extra code is there also bumps the executable size.
|
||||
*
|
||||
* It is the default, however, because it would be highly surprising (and hard to debug) if the
|
||||
* We default operator[] on find_field_unordered() for convenience.
|
||||
* It is the default because it would be highly surprising (and hard to debug) if the
|
||||
* default behavior failed to look up a field just because it was in the wrong order--and many
|
||||
* APIs assume this. Therefore, you must be explicit if you want to treat objects as out of order.
|
||||
*
|
||||
@@ -46935,8 +46946,8 @@ simdjson_inline void string_builder::append(const T &opt) {
|
||||
|
||||
template <typename T>
|
||||
requires(require_custom_serialization<T>)
|
||||
simdjson_inline void string_builder::append(const T &val) {
|
||||
serialize(*this, val);
|
||||
simdjson_inline void string_builder::append(T &&val) {
|
||||
serialize(*this, std::forward<T>(val));
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
@@ -49740,7 +49751,9 @@ public:
|
||||
*/
|
||||
simdjson_inline simdjson_result<value> at(size_t index) noexcept;
|
||||
/**
|
||||
* Look up a field by name on an object (order-sensitive).
|
||||
* Look up a field by name on an object (order-sensitive). By order-sensitive, we mean that
|
||||
* fields must be accessed in the order they appear in the JSON text (although you can
|
||||
* skip fields). See find_field_unordered() and operator[] for an order-insensitive version.
|
||||
*
|
||||
* The following code reads z, then y, then x, and thus will not retrieve x or y if fed the
|
||||
* JSON `{ "x": 1, "y": 2, "z": 3 }`:
|
||||
@@ -49774,7 +49787,8 @@ public:
|
||||
* missing case has a non-cache-friendly bump and lots of extra scanning, especially if the object
|
||||
* in question is large. The fact that the extra code is there also bumps the executable size.
|
||||
*
|
||||
* It is the default, however, because it would be highly surprising (and hard to debug) if the
|
||||
* We default operator[] on find_field_unordered() for convenience.
|
||||
* It is the default because it would be highly surprising (and hard to debug) if the
|
||||
* default behavior failed to look up a field just because it was in the wrong order--and many
|
||||
* APIs assume this. Therefore, you must be explicit if you want to treat objects as out of order.
|
||||
*
|
||||
@@ -50121,7 +50135,9 @@ public:
|
||||
simdjson_inline simdjson_result<fallback::ondemand::array_iterator> end() & noexcept;
|
||||
|
||||
/**
|
||||
* Look up a field by name on an object (order-sensitive).
|
||||
* Look up a field by name on an object (order-sensitive). By order-sensitive, we mean that
|
||||
* fields must be accessed in the order they appear in the JSON text (although you can
|
||||
* skip fields). See find_field_unordered() and operator[] for an order-insensitive version.
|
||||
*
|
||||
* The following code reads z, then y, then x, and thus will not retrieve x or y if fed the
|
||||
* JSON `{ "x": 1, "y": 2, "z": 3 }`:
|
||||
@@ -50153,7 +50169,8 @@ public:
|
||||
* missing case has a non-cache-friendly bump and lots of extra scanning, especially if the object
|
||||
* in question is large. The fact that the extra code is there also bumps the executable size.
|
||||
*
|
||||
* It is the default, however, because it would be highly surprising (and hard to debug) if the
|
||||
* We default operator[] on find_field_unordered() for convenience.
|
||||
* It is the defaul because it would be highly surprising (and hard to debug) if the
|
||||
* default behavior failed to look up a field just because it was in the wrong order--and many
|
||||
* APIs assume this. Therefore, you must be explicit if you want to treat objects as out of order.
|
||||
*
|
||||
@@ -51622,9 +51639,8 @@ struct has_custom_serialization : std::false_type {};
|
||||
|
||||
inline constexpr struct serialize_tag {
|
||||
template <typename T>
|
||||
requires custom_deserializable<T>
|
||||
constexpr void operator()(fallback::builder::string_builder& b, T& obj) const{
|
||||
return tag_invoke(*this, b, obj);
|
||||
constexpr void operator()(fallback::builder::string_builder& b, T&& obj) const{
|
||||
return tag_invoke(*this, b, std::forward<T>(obj));
|
||||
}
|
||||
|
||||
|
||||
@@ -51763,7 +51779,7 @@ public:
|
||||
|
||||
template <typename T>
|
||||
requires(require_custom_serialization<T>)
|
||||
simdjson_inline void append(const T &val);
|
||||
simdjson_inline void append(T &&val);
|
||||
|
||||
// Support for string-like types
|
||||
template <typename T>
|
||||
@@ -52699,7 +52715,9 @@ public:
|
||||
simdjson_inline simdjson_result<array_iterator> end() & noexcept;
|
||||
|
||||
/**
|
||||
* Look up a field by name on an object (order-sensitive).
|
||||
* Look up a field by name on an object (order-sensitive). By order-sensitive, we mean that
|
||||
* fields must be accessed in the order they appear in the JSON text (although you can
|
||||
* skip fields). See find_field_unordered() and operator[] for an order-insensitive version.
|
||||
*
|
||||
* The following code reads z, then y, then x, and thus will not retrieve x or y if fed the
|
||||
* JSON `{ "x": 1, "y": 2, "z": 3 }`:
|
||||
@@ -52743,7 +52761,8 @@ public:
|
||||
* missing case has a non-cache-friendly bump and lots of extra scanning, especially if the object
|
||||
* in question is large. The fact that the extra code is there also bumps the executable size.
|
||||
*
|
||||
* It is the default, however, because it would be highly surprising (and hard to debug) if the
|
||||
* We default operator[] on find_field_unordered() for convenience.
|
||||
* It is the default because it would be highly surprising (and hard to debug) if the
|
||||
* default behavior failed to look up a field just because it was in the wrong order--and many
|
||||
* APIs assume this. Therefore, you must be explicit if you want to treat objects as out of order.
|
||||
*
|
||||
@@ -53928,7 +53947,9 @@ public:
|
||||
simdjson_inline simdjson_result<object_iterator> begin() noexcept;
|
||||
simdjson_inline simdjson_result<object_iterator> end() noexcept;
|
||||
/**
|
||||
* Look up a field by name on an object (order-sensitive).
|
||||
* Look up a field by name on an object (order-sensitive). By order-sensitive, we mean that
|
||||
* fields must be accessed in the order they appear in the JSON text (although you can
|
||||
* skip fields). See find_field_unordered() and operator[] for an order-insensitive version.
|
||||
*
|
||||
* The following code reads z, then y, then x, and thus will not retrieve x or y if fed the
|
||||
* JSON `{ "x": 1, "y": 2, "z": 3 }`:
|
||||
@@ -53976,7 +53997,8 @@ public:
|
||||
* missing case has a non-cache-friendly bump and lots of extra scanning, especially if the object
|
||||
* in question is large. The fact that the extra code is there also bumps the executable size.
|
||||
*
|
||||
* It is the default, however, because it would be highly surprising (and hard to debug) if the
|
||||
* We default operator[] on find_field_unordered() for convenience.
|
||||
* It is the default because it would be highly surprising (and hard to debug) if the
|
||||
* default behavior failed to look up a field just because it was in the wrong order--and many
|
||||
* APIs assume this. Therefore, you must be explicit if you want to treat objects as out of order.
|
||||
*
|
||||
@@ -61400,8 +61422,8 @@ simdjson_inline void string_builder::append(const T &opt) {
|
||||
|
||||
template <typename T>
|
||||
requires(require_custom_serialization<T>)
|
||||
simdjson_inline void string_builder::append(const T &val) {
|
||||
serialize(*this, val);
|
||||
simdjson_inline void string_builder::append(T &&val) {
|
||||
serialize(*this, std::forward<T>(val));
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
@@ -64704,7 +64726,9 @@ public:
|
||||
*/
|
||||
simdjson_inline simdjson_result<value> at(size_t index) noexcept;
|
||||
/**
|
||||
* Look up a field by name on an object (order-sensitive).
|
||||
* Look up a field by name on an object (order-sensitive). By order-sensitive, we mean that
|
||||
* fields must be accessed in the order they appear in the JSON text (although you can
|
||||
* skip fields). See find_field_unordered() and operator[] for an order-insensitive version.
|
||||
*
|
||||
* The following code reads z, then y, then x, and thus will not retrieve x or y if fed the
|
||||
* JSON `{ "x": 1, "y": 2, "z": 3 }`:
|
||||
@@ -64738,7 +64762,8 @@ public:
|
||||
* missing case has a non-cache-friendly bump and lots of extra scanning, especially if the object
|
||||
* in question is large. The fact that the extra code is there also bumps the executable size.
|
||||
*
|
||||
* It is the default, however, because it would be highly surprising (and hard to debug) if the
|
||||
* We default operator[] on find_field_unordered() for convenience.
|
||||
* It is the default because it would be highly surprising (and hard to debug) if the
|
||||
* default behavior failed to look up a field just because it was in the wrong order--and many
|
||||
* APIs assume this. Therefore, you must be explicit if you want to treat objects as out of order.
|
||||
*
|
||||
@@ -65085,7 +65110,9 @@ public:
|
||||
simdjson_inline simdjson_result<haswell::ondemand::array_iterator> end() & noexcept;
|
||||
|
||||
/**
|
||||
* Look up a field by name on an object (order-sensitive).
|
||||
* Look up a field by name on an object (order-sensitive). By order-sensitive, we mean that
|
||||
* fields must be accessed in the order they appear in the JSON text (although you can
|
||||
* skip fields). See find_field_unordered() and operator[] for an order-insensitive version.
|
||||
*
|
||||
* The following code reads z, then y, then x, and thus will not retrieve x or y if fed the
|
||||
* JSON `{ "x": 1, "y": 2, "z": 3 }`:
|
||||
@@ -65117,7 +65144,8 @@ public:
|
||||
* missing case has a non-cache-friendly bump and lots of extra scanning, especially if the object
|
||||
* in question is large. The fact that the extra code is there also bumps the executable size.
|
||||
*
|
||||
* It is the default, however, because it would be highly surprising (and hard to debug) if the
|
||||
* We default operator[] on find_field_unordered() for convenience.
|
||||
* It is the defaul because it would be highly surprising (and hard to debug) if the
|
||||
* default behavior failed to look up a field just because it was in the wrong order--and many
|
||||
* APIs assume this. Therefore, you must be explicit if you want to treat objects as out of order.
|
||||
*
|
||||
@@ -66586,9 +66614,8 @@ struct has_custom_serialization : std::false_type {};
|
||||
|
||||
inline constexpr struct serialize_tag {
|
||||
template <typename T>
|
||||
requires custom_deserializable<T>
|
||||
constexpr void operator()(haswell::builder::string_builder& b, T& obj) const{
|
||||
return tag_invoke(*this, b, obj);
|
||||
constexpr void operator()(haswell::builder::string_builder& b, T&& obj) const{
|
||||
return tag_invoke(*this, b, std::forward<T>(obj));
|
||||
}
|
||||
|
||||
|
||||
@@ -66727,7 +66754,7 @@ public:
|
||||
|
||||
template <typename T>
|
||||
requires(require_custom_serialization<T>)
|
||||
simdjson_inline void append(const T &val);
|
||||
simdjson_inline void append(T &&val);
|
||||
|
||||
// Support for string-like types
|
||||
template <typename T>
|
||||
@@ -67663,7 +67690,9 @@ public:
|
||||
simdjson_inline simdjson_result<array_iterator> end() & noexcept;
|
||||
|
||||
/**
|
||||
* Look up a field by name on an object (order-sensitive).
|
||||
* Look up a field by name on an object (order-sensitive). By order-sensitive, we mean that
|
||||
* fields must be accessed in the order they appear in the JSON text (although you can
|
||||
* skip fields). See find_field_unordered() and operator[] for an order-insensitive version.
|
||||
*
|
||||
* The following code reads z, then y, then x, and thus will not retrieve x or y if fed the
|
||||
* JSON `{ "x": 1, "y": 2, "z": 3 }`:
|
||||
@@ -67707,7 +67736,8 @@ public:
|
||||
* missing case has a non-cache-friendly bump and lots of extra scanning, especially if the object
|
||||
* in question is large. The fact that the extra code is there also bumps the executable size.
|
||||
*
|
||||
* It is the default, however, because it would be highly surprising (and hard to debug) if the
|
||||
* We default operator[] on find_field_unordered() for convenience.
|
||||
* It is the default because it would be highly surprising (and hard to debug) if the
|
||||
* default behavior failed to look up a field just because it was in the wrong order--and many
|
||||
* APIs assume this. Therefore, you must be explicit if you want to treat objects as out of order.
|
||||
*
|
||||
@@ -68892,7 +68922,9 @@ public:
|
||||
simdjson_inline simdjson_result<object_iterator> begin() noexcept;
|
||||
simdjson_inline simdjson_result<object_iterator> end() noexcept;
|
||||
/**
|
||||
* Look up a field by name on an object (order-sensitive).
|
||||
* Look up a field by name on an object (order-sensitive). By order-sensitive, we mean that
|
||||
* fields must be accessed in the order they appear in the JSON text (although you can
|
||||
* skip fields). See find_field_unordered() and operator[] for an order-insensitive version.
|
||||
*
|
||||
* The following code reads z, then y, then x, and thus will not retrieve x or y if fed the
|
||||
* JSON `{ "x": 1, "y": 2, "z": 3 }`:
|
||||
@@ -68940,7 +68972,8 @@ public:
|
||||
* missing case has a non-cache-friendly bump and lots of extra scanning, especially if the object
|
||||
* in question is large. The fact that the extra code is there also bumps the executable size.
|
||||
*
|
||||
* It is the default, however, because it would be highly surprising (and hard to debug) if the
|
||||
* We default operator[] on find_field_unordered() for convenience.
|
||||
* It is the default because it would be highly surprising (and hard to debug) if the
|
||||
* default behavior failed to look up a field just because it was in the wrong order--and many
|
||||
* APIs assume this. Therefore, you must be explicit if you want to treat objects as out of order.
|
||||
*
|
||||
@@ -76364,8 +76397,8 @@ simdjson_inline void string_builder::append(const T &opt) {
|
||||
|
||||
template <typename T>
|
||||
requires(require_custom_serialization<T>)
|
||||
simdjson_inline void string_builder::append(const T &val) {
|
||||
serialize(*this, val);
|
||||
simdjson_inline void string_builder::append(T &&val) {
|
||||
serialize(*this, std::forward<T>(val));
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
@@ -79668,7 +79701,9 @@ public:
|
||||
*/
|
||||
simdjson_inline simdjson_result<value> at(size_t index) noexcept;
|
||||
/**
|
||||
* Look up a field by name on an object (order-sensitive).
|
||||
* Look up a field by name on an object (order-sensitive). By order-sensitive, we mean that
|
||||
* fields must be accessed in the order they appear in the JSON text (although you can
|
||||
* skip fields). See find_field_unordered() and operator[] for an order-insensitive version.
|
||||
*
|
||||
* The following code reads z, then y, then x, and thus will not retrieve x or y if fed the
|
||||
* JSON `{ "x": 1, "y": 2, "z": 3 }`:
|
||||
@@ -79702,7 +79737,8 @@ public:
|
||||
* missing case has a non-cache-friendly bump and lots of extra scanning, especially if the object
|
||||
* in question is large. The fact that the extra code is there also bumps the executable size.
|
||||
*
|
||||
* It is the default, however, because it would be highly surprising (and hard to debug) if the
|
||||
* We default operator[] on find_field_unordered() for convenience.
|
||||
* It is the default because it would be highly surprising (and hard to debug) if the
|
||||
* default behavior failed to look up a field just because it was in the wrong order--and many
|
||||
* APIs assume this. Therefore, you must be explicit if you want to treat objects as out of order.
|
||||
*
|
||||
@@ -80049,7 +80085,9 @@ public:
|
||||
simdjson_inline simdjson_result<icelake::ondemand::array_iterator> end() & noexcept;
|
||||
|
||||
/**
|
||||
* Look up a field by name on an object (order-sensitive).
|
||||
* Look up a field by name on an object (order-sensitive). By order-sensitive, we mean that
|
||||
* fields must be accessed in the order they appear in the JSON text (although you can
|
||||
* skip fields). See find_field_unordered() and operator[] for an order-insensitive version.
|
||||
*
|
||||
* The following code reads z, then y, then x, and thus will not retrieve x or y if fed the
|
||||
* JSON `{ "x": 1, "y": 2, "z": 3 }`:
|
||||
@@ -80081,7 +80119,8 @@ public:
|
||||
* missing case has a non-cache-friendly bump and lots of extra scanning, especially if the object
|
||||
* in question is large. The fact that the extra code is there also bumps the executable size.
|
||||
*
|
||||
* It is the default, however, because it would be highly surprising (and hard to debug) if the
|
||||
* We default operator[] on find_field_unordered() for convenience.
|
||||
* It is the defaul because it would be highly surprising (and hard to debug) if the
|
||||
* default behavior failed to look up a field just because it was in the wrong order--and many
|
||||
* APIs assume this. Therefore, you must be explicit if you want to treat objects as out of order.
|
||||
*
|
||||
@@ -81550,9 +81589,8 @@ struct has_custom_serialization : std::false_type {};
|
||||
|
||||
inline constexpr struct serialize_tag {
|
||||
template <typename T>
|
||||
requires custom_deserializable<T>
|
||||
constexpr void operator()(icelake::builder::string_builder& b, T& obj) const{
|
||||
return tag_invoke(*this, b, obj);
|
||||
constexpr void operator()(icelake::builder::string_builder& b, T&& obj) const{
|
||||
return tag_invoke(*this, b, std::forward<T>(obj));
|
||||
}
|
||||
|
||||
|
||||
@@ -81691,7 +81729,7 @@ public:
|
||||
|
||||
template <typename T>
|
||||
requires(require_custom_serialization<T>)
|
||||
simdjson_inline void append(const T &val);
|
||||
simdjson_inline void append(T &&val);
|
||||
|
||||
// Support for string-like types
|
||||
template <typename T>
|
||||
@@ -82627,7 +82665,9 @@ public:
|
||||
simdjson_inline simdjson_result<array_iterator> end() & noexcept;
|
||||
|
||||
/**
|
||||
* Look up a field by name on an object (order-sensitive).
|
||||
* Look up a field by name on an object (order-sensitive). By order-sensitive, we mean that
|
||||
* fields must be accessed in the order they appear in the JSON text (although you can
|
||||
* skip fields). See find_field_unordered() and operator[] for an order-insensitive version.
|
||||
*
|
||||
* The following code reads z, then y, then x, and thus will not retrieve x or y if fed the
|
||||
* JSON `{ "x": 1, "y": 2, "z": 3 }`:
|
||||
@@ -82671,7 +82711,8 @@ public:
|
||||
* missing case has a non-cache-friendly bump and lots of extra scanning, especially if the object
|
||||
* in question is large. The fact that the extra code is there also bumps the executable size.
|
||||
*
|
||||
* It is the default, however, because it would be highly surprising (and hard to debug) if the
|
||||
* We default operator[] on find_field_unordered() for convenience.
|
||||
* It is the default because it would be highly surprising (and hard to debug) if the
|
||||
* default behavior failed to look up a field just because it was in the wrong order--and many
|
||||
* APIs assume this. Therefore, you must be explicit if you want to treat objects as out of order.
|
||||
*
|
||||
@@ -83856,7 +83897,9 @@ public:
|
||||
simdjson_inline simdjson_result<object_iterator> begin() noexcept;
|
||||
simdjson_inline simdjson_result<object_iterator> end() noexcept;
|
||||
/**
|
||||
* Look up a field by name on an object (order-sensitive).
|
||||
* Look up a field by name on an object (order-sensitive). By order-sensitive, we mean that
|
||||
* fields must be accessed in the order they appear in the JSON text (although you can
|
||||
* skip fields). See find_field_unordered() and operator[] for an order-insensitive version.
|
||||
*
|
||||
* The following code reads z, then y, then x, and thus will not retrieve x or y if fed the
|
||||
* JSON `{ "x": 1, "y": 2, "z": 3 }`:
|
||||
@@ -83904,7 +83947,8 @@ public:
|
||||
* missing case has a non-cache-friendly bump and lots of extra scanning, especially if the object
|
||||
* in question is large. The fact that the extra code is there also bumps the executable size.
|
||||
*
|
||||
* It is the default, however, because it would be highly surprising (and hard to debug) if the
|
||||
* We default operator[] on find_field_unordered() for convenience.
|
||||
* It is the default because it would be highly surprising (and hard to debug) if the
|
||||
* default behavior failed to look up a field just because it was in the wrong order--and many
|
||||
* APIs assume this. Therefore, you must be explicit if you want to treat objects as out of order.
|
||||
*
|
||||
@@ -91328,8 +91372,8 @@ simdjson_inline void string_builder::append(const T &opt) {
|
||||
|
||||
template <typename T>
|
||||
requires(require_custom_serialization<T>)
|
||||
simdjson_inline void string_builder::append(const T &val) {
|
||||
serialize(*this, val);
|
||||
simdjson_inline void string_builder::append(T &&val) {
|
||||
serialize(*this, std::forward<T>(val));
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
@@ -94747,7 +94791,9 @@ public:
|
||||
*/
|
||||
simdjson_inline simdjson_result<value> at(size_t index) noexcept;
|
||||
/**
|
||||
* Look up a field by name on an object (order-sensitive).
|
||||
* Look up a field by name on an object (order-sensitive). By order-sensitive, we mean that
|
||||
* fields must be accessed in the order they appear in the JSON text (although you can
|
||||
* skip fields). See find_field_unordered() and operator[] for an order-insensitive version.
|
||||
*
|
||||
* The following code reads z, then y, then x, and thus will not retrieve x or y if fed the
|
||||
* JSON `{ "x": 1, "y": 2, "z": 3 }`:
|
||||
@@ -94781,7 +94827,8 @@ public:
|
||||
* missing case has a non-cache-friendly bump and lots of extra scanning, especially if the object
|
||||
* in question is large. The fact that the extra code is there also bumps the executable size.
|
||||
*
|
||||
* It is the default, however, because it would be highly surprising (and hard to debug) if the
|
||||
* We default operator[] on find_field_unordered() for convenience.
|
||||
* It is the default because it would be highly surprising (and hard to debug) if the
|
||||
* default behavior failed to look up a field just because it was in the wrong order--and many
|
||||
* APIs assume this. Therefore, you must be explicit if you want to treat objects as out of order.
|
||||
*
|
||||
@@ -95128,7 +95175,9 @@ public:
|
||||
simdjson_inline simdjson_result<ppc64::ondemand::array_iterator> end() & noexcept;
|
||||
|
||||
/**
|
||||
* Look up a field by name on an object (order-sensitive).
|
||||
* Look up a field by name on an object (order-sensitive). By order-sensitive, we mean that
|
||||
* fields must be accessed in the order they appear in the JSON text (although you can
|
||||
* skip fields). See find_field_unordered() and operator[] for an order-insensitive version.
|
||||
*
|
||||
* The following code reads z, then y, then x, and thus will not retrieve x or y if fed the
|
||||
* JSON `{ "x": 1, "y": 2, "z": 3 }`:
|
||||
@@ -95160,7 +95209,8 @@ public:
|
||||
* missing case has a non-cache-friendly bump and lots of extra scanning, especially if the object
|
||||
* in question is large. The fact that the extra code is there also bumps the executable size.
|
||||
*
|
||||
* It is the default, however, because it would be highly surprising (and hard to debug) if the
|
||||
* We default operator[] on find_field_unordered() for convenience.
|
||||
* It is the defaul because it would be highly surprising (and hard to debug) if the
|
||||
* default behavior failed to look up a field just because it was in the wrong order--and many
|
||||
* APIs assume this. Therefore, you must be explicit if you want to treat objects as out of order.
|
||||
*
|
||||
@@ -96629,9 +96679,8 @@ struct has_custom_serialization : std::false_type {};
|
||||
|
||||
inline constexpr struct serialize_tag {
|
||||
template <typename T>
|
||||
requires custom_deserializable<T>
|
||||
constexpr void operator()(ppc64::builder::string_builder& b, T& obj) const{
|
||||
return tag_invoke(*this, b, obj);
|
||||
constexpr void operator()(ppc64::builder::string_builder& b, T&& obj) const{
|
||||
return tag_invoke(*this, b, std::forward<T>(obj));
|
||||
}
|
||||
|
||||
|
||||
@@ -96770,7 +96819,7 @@ public:
|
||||
|
||||
template <typename T>
|
||||
requires(require_custom_serialization<T>)
|
||||
simdjson_inline void append(const T &val);
|
||||
simdjson_inline void append(T &&val);
|
||||
|
||||
// Support for string-like types
|
||||
template <typename T>
|
||||
@@ -97706,7 +97755,9 @@ public:
|
||||
simdjson_inline simdjson_result<array_iterator> end() & noexcept;
|
||||
|
||||
/**
|
||||
* Look up a field by name on an object (order-sensitive).
|
||||
* Look up a field by name on an object (order-sensitive). By order-sensitive, we mean that
|
||||
* fields must be accessed in the order they appear in the JSON text (although you can
|
||||
* skip fields). See find_field_unordered() and operator[] for an order-insensitive version.
|
||||
*
|
||||
* The following code reads z, then y, then x, and thus will not retrieve x or y if fed the
|
||||
* JSON `{ "x": 1, "y": 2, "z": 3 }`:
|
||||
@@ -97750,7 +97801,8 @@ public:
|
||||
* missing case has a non-cache-friendly bump and lots of extra scanning, especially if the object
|
||||
* in question is large. The fact that the extra code is there also bumps the executable size.
|
||||
*
|
||||
* It is the default, however, because it would be highly surprising (and hard to debug) if the
|
||||
* We default operator[] on find_field_unordered() for convenience.
|
||||
* It is the default because it would be highly surprising (and hard to debug) if the
|
||||
* default behavior failed to look up a field just because it was in the wrong order--and many
|
||||
* APIs assume this. Therefore, you must be explicit if you want to treat objects as out of order.
|
||||
*
|
||||
@@ -98935,7 +98987,9 @@ public:
|
||||
simdjson_inline simdjson_result<object_iterator> begin() noexcept;
|
||||
simdjson_inline simdjson_result<object_iterator> end() noexcept;
|
||||
/**
|
||||
* Look up a field by name on an object (order-sensitive).
|
||||
* Look up a field by name on an object (order-sensitive). By order-sensitive, we mean that
|
||||
* fields must be accessed in the order they appear in the JSON text (although you can
|
||||
* skip fields). See find_field_unordered() and operator[] for an order-insensitive version.
|
||||
*
|
||||
* The following code reads z, then y, then x, and thus will not retrieve x or y if fed the
|
||||
* JSON `{ "x": 1, "y": 2, "z": 3 }`:
|
||||
@@ -98983,7 +99037,8 @@ public:
|
||||
* missing case has a non-cache-friendly bump and lots of extra scanning, especially if the object
|
||||
* in question is large. The fact that the extra code is there also bumps the executable size.
|
||||
*
|
||||
* It is the default, however, because it would be highly surprising (and hard to debug) if the
|
||||
* We default operator[] on find_field_unordered() for convenience.
|
||||
* It is the default because it would be highly surprising (and hard to debug) if the
|
||||
* default behavior failed to look up a field just because it was in the wrong order--and many
|
||||
* APIs assume this. Therefore, you must be explicit if you want to treat objects as out of order.
|
||||
*
|
||||
@@ -106407,8 +106462,8 @@ simdjson_inline void string_builder::append(const T &opt) {
|
||||
|
||||
template <typename T>
|
||||
requires(require_custom_serialization<T>)
|
||||
simdjson_inline void string_builder::append(const T &val) {
|
||||
serialize(*this, val);
|
||||
simdjson_inline void string_builder::append(T &&val) {
|
||||
serialize(*this, std::forward<T>(val));
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
@@ -110142,7 +110197,9 @@ public:
|
||||
*/
|
||||
simdjson_inline simdjson_result<value> at(size_t index) noexcept;
|
||||
/**
|
||||
* Look up a field by name on an object (order-sensitive).
|
||||
* Look up a field by name on an object (order-sensitive). By order-sensitive, we mean that
|
||||
* fields must be accessed in the order they appear in the JSON text (although you can
|
||||
* skip fields). See find_field_unordered() and operator[] for an order-insensitive version.
|
||||
*
|
||||
* The following code reads z, then y, then x, and thus will not retrieve x or y if fed the
|
||||
* JSON `{ "x": 1, "y": 2, "z": 3 }`:
|
||||
@@ -110176,7 +110233,8 @@ public:
|
||||
* missing case has a non-cache-friendly bump and lots of extra scanning, especially if the object
|
||||
* in question is large. The fact that the extra code is there also bumps the executable size.
|
||||
*
|
||||
* It is the default, however, because it would be highly surprising (and hard to debug) if the
|
||||
* We default operator[] on find_field_unordered() for convenience.
|
||||
* It is the default because it would be highly surprising (and hard to debug) if the
|
||||
* default behavior failed to look up a field just because it was in the wrong order--and many
|
||||
* APIs assume this. Therefore, you must be explicit if you want to treat objects as out of order.
|
||||
*
|
||||
@@ -110523,7 +110581,9 @@ public:
|
||||
simdjson_inline simdjson_result<westmere::ondemand::array_iterator> end() & noexcept;
|
||||
|
||||
/**
|
||||
* Look up a field by name on an object (order-sensitive).
|
||||
* Look up a field by name on an object (order-sensitive). By order-sensitive, we mean that
|
||||
* fields must be accessed in the order they appear in the JSON text (although you can
|
||||
* skip fields). See find_field_unordered() and operator[] for an order-insensitive version.
|
||||
*
|
||||
* The following code reads z, then y, then x, and thus will not retrieve x or y if fed the
|
||||
* JSON `{ "x": 1, "y": 2, "z": 3 }`:
|
||||
@@ -110555,7 +110615,8 @@ public:
|
||||
* missing case has a non-cache-friendly bump and lots of extra scanning, especially if the object
|
||||
* in question is large. The fact that the extra code is there also bumps the executable size.
|
||||
*
|
||||
* It is the default, however, because it would be highly surprising (and hard to debug) if the
|
||||
* We default operator[] on find_field_unordered() for convenience.
|
||||
* It is the defaul because it would be highly surprising (and hard to debug) if the
|
||||
* default behavior failed to look up a field just because it was in the wrong order--and many
|
||||
* APIs assume this. Therefore, you must be explicit if you want to treat objects as out of order.
|
||||
*
|
||||
@@ -112024,9 +112085,8 @@ struct has_custom_serialization : std::false_type {};
|
||||
|
||||
inline constexpr struct serialize_tag {
|
||||
template <typename T>
|
||||
requires custom_deserializable<T>
|
||||
constexpr void operator()(westmere::builder::string_builder& b, T& obj) const{
|
||||
return tag_invoke(*this, b, obj);
|
||||
constexpr void operator()(westmere::builder::string_builder& b, T&& obj) const{
|
||||
return tag_invoke(*this, b, std::forward<T>(obj));
|
||||
}
|
||||
|
||||
|
||||
@@ -112165,7 +112225,7 @@ public:
|
||||
|
||||
template <typename T>
|
||||
requires(require_custom_serialization<T>)
|
||||
simdjson_inline void append(const T &val);
|
||||
simdjson_inline void append(T &&val);
|
||||
|
||||
// Support for string-like types
|
||||
template <typename T>
|
||||
@@ -113101,7 +113161,9 @@ public:
|
||||
simdjson_inline simdjson_result<array_iterator> end() & noexcept;
|
||||
|
||||
/**
|
||||
* Look up a field by name on an object (order-sensitive).
|
||||
* Look up a field by name on an object (order-sensitive). By order-sensitive, we mean that
|
||||
* fields must be accessed in the order they appear in the JSON text (although you can
|
||||
* skip fields). See find_field_unordered() and operator[] for an order-insensitive version.
|
||||
*
|
||||
* The following code reads z, then y, then x, and thus will not retrieve x or y if fed the
|
||||
* JSON `{ "x": 1, "y": 2, "z": 3 }`:
|
||||
@@ -113145,7 +113207,8 @@ public:
|
||||
* missing case has a non-cache-friendly bump and lots of extra scanning, especially if the object
|
||||
* in question is large. The fact that the extra code is there also bumps the executable size.
|
||||
*
|
||||
* It is the default, however, because it would be highly surprising (and hard to debug) if the
|
||||
* We default operator[] on find_field_unordered() for convenience.
|
||||
* It is the default because it would be highly surprising (and hard to debug) if the
|
||||
* default behavior failed to look up a field just because it was in the wrong order--and many
|
||||
* APIs assume this. Therefore, you must be explicit if you want to treat objects as out of order.
|
||||
*
|
||||
@@ -114330,7 +114393,9 @@ public:
|
||||
simdjson_inline simdjson_result<object_iterator> begin() noexcept;
|
||||
simdjson_inline simdjson_result<object_iterator> end() noexcept;
|
||||
/**
|
||||
* Look up a field by name on an object (order-sensitive).
|
||||
* Look up a field by name on an object (order-sensitive). By order-sensitive, we mean that
|
||||
* fields must be accessed in the order they appear in the JSON text (although you can
|
||||
* skip fields). See find_field_unordered() and operator[] for an order-insensitive version.
|
||||
*
|
||||
* The following code reads z, then y, then x, and thus will not retrieve x or y if fed the
|
||||
* JSON `{ "x": 1, "y": 2, "z": 3 }`:
|
||||
@@ -114378,7 +114443,8 @@ public:
|
||||
* missing case has a non-cache-friendly bump and lots of extra scanning, especially if the object
|
||||
* in question is large. The fact that the extra code is there also bumps the executable size.
|
||||
*
|
||||
* It is the default, however, because it would be highly surprising (and hard to debug) if the
|
||||
* We default operator[] on find_field_unordered() for convenience.
|
||||
* It is the default because it would be highly surprising (and hard to debug) if the
|
||||
* default behavior failed to look up a field just because it was in the wrong order--and many
|
||||
* APIs assume this. Therefore, you must be explicit if you want to treat objects as out of order.
|
||||
*
|
||||
@@ -121802,8 +121868,8 @@ simdjson_inline void string_builder::append(const T &opt) {
|
||||
|
||||
template <typename T>
|
||||
requires(require_custom_serialization<T>)
|
||||
simdjson_inline void string_builder::append(const T &val) {
|
||||
serialize(*this, val);
|
||||
simdjson_inline void string_builder::append(T &&val) {
|
||||
serialize(*this, std::forward<T>(val));
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
@@ -125014,7 +125080,9 @@ public:
|
||||
*/
|
||||
simdjson_inline simdjson_result<value> at(size_t index) noexcept;
|
||||
/**
|
||||
* Look up a field by name on an object (order-sensitive).
|
||||
* Look up a field by name on an object (order-sensitive). By order-sensitive, we mean that
|
||||
* fields must be accessed in the order they appear in the JSON text (although you can
|
||||
* skip fields). See find_field_unordered() and operator[] for an order-insensitive version.
|
||||
*
|
||||
* The following code reads z, then y, then x, and thus will not retrieve x or y if fed the
|
||||
* JSON `{ "x": 1, "y": 2, "z": 3 }`:
|
||||
@@ -125048,7 +125116,8 @@ public:
|
||||
* missing case has a non-cache-friendly bump and lots of extra scanning, especially if the object
|
||||
* in question is large. The fact that the extra code is there also bumps the executable size.
|
||||
*
|
||||
* It is the default, however, because it would be highly surprising (and hard to debug) if the
|
||||
* We default operator[] on find_field_unordered() for convenience.
|
||||
* It is the default because it would be highly surprising (and hard to debug) if the
|
||||
* default behavior failed to look up a field just because it was in the wrong order--and many
|
||||
* APIs assume this. Therefore, you must be explicit if you want to treat objects as out of order.
|
||||
*
|
||||
@@ -125395,7 +125464,9 @@ public:
|
||||
simdjson_inline simdjson_result<lsx::ondemand::array_iterator> end() & noexcept;
|
||||
|
||||
/**
|
||||
* Look up a field by name on an object (order-sensitive).
|
||||
* Look up a field by name on an object (order-sensitive). By order-sensitive, we mean that
|
||||
* fields must be accessed in the order they appear in the JSON text (although you can
|
||||
* skip fields). See find_field_unordered() and operator[] for an order-insensitive version.
|
||||
*
|
||||
* The following code reads z, then y, then x, and thus will not retrieve x or y if fed the
|
||||
* JSON `{ "x": 1, "y": 2, "z": 3 }`:
|
||||
@@ -125427,7 +125498,8 @@ public:
|
||||
* missing case has a non-cache-friendly bump and lots of extra scanning, especially if the object
|
||||
* in question is large. The fact that the extra code is there also bumps the executable size.
|
||||
*
|
||||
* It is the default, however, because it would be highly surprising (and hard to debug) if the
|
||||
* We default operator[] on find_field_unordered() for convenience.
|
||||
* It is the defaul because it would be highly surprising (and hard to debug) if the
|
||||
* default behavior failed to look up a field just because it was in the wrong order--and many
|
||||
* APIs assume this. Therefore, you must be explicit if you want to treat objects as out of order.
|
||||
*
|
||||
@@ -126896,9 +126968,8 @@ struct has_custom_serialization : std::false_type {};
|
||||
|
||||
inline constexpr struct serialize_tag {
|
||||
template <typename T>
|
||||
requires custom_deserializable<T>
|
||||
constexpr void operator()(lsx::builder::string_builder& b, T& obj) const{
|
||||
return tag_invoke(*this, b, obj);
|
||||
constexpr void operator()(lsx::builder::string_builder& b, T&& obj) const{
|
||||
return tag_invoke(*this, b, std::forward<T>(obj));
|
||||
}
|
||||
|
||||
|
||||
@@ -127037,7 +127108,7 @@ public:
|
||||
|
||||
template <typename T>
|
||||
requires(require_custom_serialization<T>)
|
||||
simdjson_inline void append(const T &val);
|
||||
simdjson_inline void append(T &&val);
|
||||
|
||||
// Support for string-like types
|
||||
template <typename T>
|
||||
@@ -127973,7 +128044,9 @@ public:
|
||||
simdjson_inline simdjson_result<array_iterator> end() & noexcept;
|
||||
|
||||
/**
|
||||
* Look up a field by name on an object (order-sensitive).
|
||||
* Look up a field by name on an object (order-sensitive). By order-sensitive, we mean that
|
||||
* fields must be accessed in the order they appear in the JSON text (although you can
|
||||
* skip fields). See find_field_unordered() and operator[] for an order-insensitive version.
|
||||
*
|
||||
* The following code reads z, then y, then x, and thus will not retrieve x or y if fed the
|
||||
* JSON `{ "x": 1, "y": 2, "z": 3 }`:
|
||||
@@ -128017,7 +128090,8 @@ public:
|
||||
* missing case has a non-cache-friendly bump and lots of extra scanning, especially if the object
|
||||
* in question is large. The fact that the extra code is there also bumps the executable size.
|
||||
*
|
||||
* It is the default, however, because it would be highly surprising (and hard to debug) if the
|
||||
* We default operator[] on find_field_unordered() for convenience.
|
||||
* It is the default because it would be highly surprising (and hard to debug) if the
|
||||
* default behavior failed to look up a field just because it was in the wrong order--and many
|
||||
* APIs assume this. Therefore, you must be explicit if you want to treat objects as out of order.
|
||||
*
|
||||
@@ -129202,7 +129276,9 @@ public:
|
||||
simdjson_inline simdjson_result<object_iterator> begin() noexcept;
|
||||
simdjson_inline simdjson_result<object_iterator> end() noexcept;
|
||||
/**
|
||||
* Look up a field by name on an object (order-sensitive).
|
||||
* Look up a field by name on an object (order-sensitive). By order-sensitive, we mean that
|
||||
* fields must be accessed in the order they appear in the JSON text (although you can
|
||||
* skip fields). See find_field_unordered() and operator[] for an order-insensitive version.
|
||||
*
|
||||
* The following code reads z, then y, then x, and thus will not retrieve x or y if fed the
|
||||
* JSON `{ "x": 1, "y": 2, "z": 3 }`:
|
||||
@@ -129250,7 +129326,8 @@ public:
|
||||
* missing case has a non-cache-friendly bump and lots of extra scanning, especially if the object
|
||||
* in question is large. The fact that the extra code is there also bumps the executable size.
|
||||
*
|
||||
* It is the default, however, because it would be highly surprising (and hard to debug) if the
|
||||
* We default operator[] on find_field_unordered() for convenience.
|
||||
* It is the default because it would be highly surprising (and hard to debug) if the
|
||||
* default behavior failed to look up a field just because it was in the wrong order--and many
|
||||
* APIs assume this. Therefore, you must be explicit if you want to treat objects as out of order.
|
||||
*
|
||||
@@ -136674,8 +136751,8 @@ simdjson_inline void string_builder::append(const T &opt) {
|
||||
|
||||
template <typename T>
|
||||
requires(require_custom_serialization<T>)
|
||||
simdjson_inline void string_builder::append(const T &val) {
|
||||
serialize(*this, val);
|
||||
simdjson_inline void string_builder::append(T &&val) {
|
||||
serialize(*this, std::forward<T>(val));
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
@@ -139899,7 +139976,9 @@ public:
|
||||
*/
|
||||
simdjson_inline simdjson_result<value> at(size_t index) noexcept;
|
||||
/**
|
||||
* Look up a field by name on an object (order-sensitive).
|
||||
* Look up a field by name on an object (order-sensitive). By order-sensitive, we mean that
|
||||
* fields must be accessed in the order they appear in the JSON text (although you can
|
||||
* skip fields). See find_field_unordered() and operator[] for an order-insensitive version.
|
||||
*
|
||||
* The following code reads z, then y, then x, and thus will not retrieve x or y if fed the
|
||||
* JSON `{ "x": 1, "y": 2, "z": 3 }`:
|
||||
@@ -139933,7 +140012,8 @@ public:
|
||||
* missing case has a non-cache-friendly bump and lots of extra scanning, especially if the object
|
||||
* in question is large. The fact that the extra code is there also bumps the executable size.
|
||||
*
|
||||
* It is the default, however, because it would be highly surprising (and hard to debug) if the
|
||||
* We default operator[] on find_field_unordered() for convenience.
|
||||
* It is the default because it would be highly surprising (and hard to debug) if the
|
||||
* default behavior failed to look up a field just because it was in the wrong order--and many
|
||||
* APIs assume this. Therefore, you must be explicit if you want to treat objects as out of order.
|
||||
*
|
||||
@@ -140280,7 +140360,9 @@ public:
|
||||
simdjson_inline simdjson_result<lasx::ondemand::array_iterator> end() & noexcept;
|
||||
|
||||
/**
|
||||
* Look up a field by name on an object (order-sensitive).
|
||||
* Look up a field by name on an object (order-sensitive). By order-sensitive, we mean that
|
||||
* fields must be accessed in the order they appear in the JSON text (although you can
|
||||
* skip fields). See find_field_unordered() and operator[] for an order-insensitive version.
|
||||
*
|
||||
* The following code reads z, then y, then x, and thus will not retrieve x or y if fed the
|
||||
* JSON `{ "x": 1, "y": 2, "z": 3 }`:
|
||||
@@ -140312,7 +140394,8 @@ public:
|
||||
* missing case has a non-cache-friendly bump and lots of extra scanning, especially if the object
|
||||
* in question is large. The fact that the extra code is there also bumps the executable size.
|
||||
*
|
||||
* It is the default, however, because it would be highly surprising (and hard to debug) if the
|
||||
* We default operator[] on find_field_unordered() for convenience.
|
||||
* It is the defaul because it would be highly surprising (and hard to debug) if the
|
||||
* default behavior failed to look up a field just because it was in the wrong order--and many
|
||||
* APIs assume this. Therefore, you must be explicit if you want to treat objects as out of order.
|
||||
*
|
||||
@@ -141781,9 +141864,8 @@ struct has_custom_serialization : std::false_type {};
|
||||
|
||||
inline constexpr struct serialize_tag {
|
||||
template <typename T>
|
||||
requires custom_deserializable<T>
|
||||
constexpr void operator()(lasx::builder::string_builder& b, T& obj) const{
|
||||
return tag_invoke(*this, b, obj);
|
||||
constexpr void operator()(lasx::builder::string_builder& b, T&& obj) const{
|
||||
return tag_invoke(*this, b, std::forward<T>(obj));
|
||||
}
|
||||
|
||||
|
||||
@@ -141922,7 +142004,7 @@ public:
|
||||
|
||||
template <typename T>
|
||||
requires(require_custom_serialization<T>)
|
||||
simdjson_inline void append(const T &val);
|
||||
simdjson_inline void append(T &&val);
|
||||
|
||||
// Support for string-like types
|
||||
template <typename T>
|
||||
@@ -142858,7 +142940,9 @@ public:
|
||||
simdjson_inline simdjson_result<array_iterator> end() & noexcept;
|
||||
|
||||
/**
|
||||
* Look up a field by name on an object (order-sensitive).
|
||||
* Look up a field by name on an object (order-sensitive). By order-sensitive, we mean that
|
||||
* fields must be accessed in the order they appear in the JSON text (although you can
|
||||
* skip fields). See find_field_unordered() and operator[] for an order-insensitive version.
|
||||
*
|
||||
* The following code reads z, then y, then x, and thus will not retrieve x or y if fed the
|
||||
* JSON `{ "x": 1, "y": 2, "z": 3 }`:
|
||||
@@ -142902,7 +142986,8 @@ public:
|
||||
* missing case has a non-cache-friendly bump and lots of extra scanning, especially if the object
|
||||
* in question is large. The fact that the extra code is there also bumps the executable size.
|
||||
*
|
||||
* It is the default, however, because it would be highly surprising (and hard to debug) if the
|
||||
* We default operator[] on find_field_unordered() for convenience.
|
||||
* It is the default because it would be highly surprising (and hard to debug) if the
|
||||
* default behavior failed to look up a field just because it was in the wrong order--and many
|
||||
* APIs assume this. Therefore, you must be explicit if you want to treat objects as out of order.
|
||||
*
|
||||
@@ -144087,7 +144172,9 @@ public:
|
||||
simdjson_inline simdjson_result<object_iterator> begin() noexcept;
|
||||
simdjson_inline simdjson_result<object_iterator> end() noexcept;
|
||||
/**
|
||||
* Look up a field by name on an object (order-sensitive).
|
||||
* Look up a field by name on an object (order-sensitive). By order-sensitive, we mean that
|
||||
* fields must be accessed in the order they appear in the JSON text (although you can
|
||||
* skip fields). See find_field_unordered() and operator[] for an order-insensitive version.
|
||||
*
|
||||
* The following code reads z, then y, then x, and thus will not retrieve x or y if fed the
|
||||
* JSON `{ "x": 1, "y": 2, "z": 3 }`:
|
||||
@@ -144135,7 +144222,8 @@ public:
|
||||
* missing case has a non-cache-friendly bump and lots of extra scanning, especially if the object
|
||||
* in question is large. The fact that the extra code is there also bumps the executable size.
|
||||
*
|
||||
* It is the default, however, because it would be highly surprising (and hard to debug) if the
|
||||
* We default operator[] on find_field_unordered() for convenience.
|
||||
* It is the default because it would be highly surprising (and hard to debug) if the
|
||||
* default behavior failed to look up a field just because it was in the wrong order--and many
|
||||
* APIs assume this. Therefore, you must be explicit if you want to treat objects as out of order.
|
||||
*
|
||||
@@ -151559,8 +151647,8 @@ simdjson_inline void string_builder::append(const T &opt) {
|
||||
|
||||
template <typename T>
|
||||
requires(require_custom_serialization<T>)
|
||||
simdjson_inline void string_builder::append(const T &val) {
|
||||
serialize(*this, val);
|
||||
simdjson_inline void string_builder::append(T &&val) {
|
||||
serialize(*this, std::forward<T>(val));
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user