1- /* auto-generated on 2025-11-11 14: 17:08 -0500. version 4.2.2 Do not edit! */
1+ /* auto-generated on 2025-12-12 17:50:52 -0500. version 4.2.3 Do not edit! */
22/* including simdjson.h: */
33/* begin file simdjson.h */
44#ifndef SIMDJSON_H
@@ -2513,7 +2513,7 @@ namespace std {
25132513#define SIMDJSON_SIMDJSON_VERSION_H
25142514
25152515/** The version of simdjson being used (major.minor.revision) */
2516- #define SIMDJSON_VERSION "4.2.2 "
2516+ #define SIMDJSON_VERSION "4.2.3 "
25172517
25182518namespace simdjson {
25192519enum {
@@ -2528,7 +2528,7 @@ enum {
25282528 /**
25292529 * The revision (major.minor.REVISION) of simdjson being used.
25302530 */
2531- SIMDJSON_VERSION_REVISION = 2
2531+ SIMDJSON_VERSION_REVISION = 3
25322532};
25332533} // namespace simdjson
25342534
@@ -5387,10 +5387,7 @@ class parser {
53875387 *
53885388 * ### std::string references
53895389 *
5390- * If you pass a mutable std::string reference (std::string&), the parser will seek to extend
5391- * its capacity to SIMDJSON_PADDING bytes beyond the end of the string.
5392- *
5393- * Whenever you pass an std::string reference, the parser will access the bytes beyond the end of
5390+ * Whenever you pass an std::string reference, the parser may access the bytes beyond the end of
53945391 * the string but before the end of the allocated memory (std::string::capacity()).
53955392 * If you are using a sanitizer that checks for reading uninitialized bytes or std::string's
53965393 * container-overflow checks, you may encounter sanitizer warnings.
@@ -5422,7 +5419,7 @@ class parser {
54225419 /** @overload parse(const uint8_t *buf, size_t len, bool realloc_if_needed) */
54235420 simdjson_inline simdjson_result<element> parse(const char *buf, size_t len, bool realloc_if_needed = true) & noexcept;
54245421 simdjson_inline simdjson_result<element> parse(const char *buf, size_t len, bool realloc_if_needed = true) && =delete;
5425- /** @overload parse(const uint8_t *buf, size_t len, bool realloc_if_needed ) */
5422+ /** @overload parse(const std::string & ) */
54265423 simdjson_inline simdjson_result<element> parse(const std::string &s) & noexcept;
54275424 simdjson_inline simdjson_result<element> parse(const std::string &s) && =delete;
54285425 /** @overload parse(const uint8_t *buf, size_t len, bool realloc_if_needed) */
@@ -37312,7 +37309,7 @@ class string_builder {
3731237309#if SIMDJSON_SUPPORTS_RANGES && SIMDJSON_SUPPORTS_CONCEPTS
3731337310 // Support for range-based appending (std::ranges::view, etc.)
3731437311 template <std::ranges::range R>
37315- requires (!std::is_convertible<R, std::string_view>::value)
37312+ requires (!std::is_convertible<R, std::string_view>::value && !require_custom_serialization<R> )
3731637313 simdjson_inline void append(const R &range) noexcept;
3731737314#endif
3731837315 /**
@@ -46953,7 +46950,7 @@ simdjson_inline void string_builder::append(const T &value) {
4695346950#if SIMDJSON_SUPPORTS_RANGES && SIMDJSON_SUPPORTS_CONCEPTS
4695446951// Support for range-based appending (std::ranges::view, etc.)
4695546952template <std::ranges::range R>
46956- requires(!std::is_convertible<R, std::string_view>::value)
46953+ requires(!std::is_convertible<R, std::string_view>::value && !require_custom_serialization<R> )
4695746954simdjson_inline void string_builder::append(const R &range) noexcept {
4695846955 auto it = std::ranges::begin(range);
4695946956 auto end = std::ranges::end(range);
@@ -51777,7 +51774,7 @@ class string_builder {
5177751774#if SIMDJSON_SUPPORTS_RANGES && SIMDJSON_SUPPORTS_CONCEPTS
5177851775 // Support for range-based appending (std::ranges::view, etc.)
5177951776 template <std::ranges::range R>
51780- requires (!std::is_convertible<R, std::string_view>::value)
51777+ requires (!std::is_convertible<R, std::string_view>::value && !require_custom_serialization<R> )
5178151778 simdjson_inline void append(const R &range) noexcept;
5178251779#endif
5178351780 /**
@@ -61418,7 +61415,7 @@ simdjson_inline void string_builder::append(const T &value) {
6141861415#if SIMDJSON_SUPPORTS_RANGES && SIMDJSON_SUPPORTS_CONCEPTS
6141961416// Support for range-based appending (std::ranges::view, etc.)
6142061417template <std::ranges::range R>
61421- requires(!std::is_convertible<R, std::string_view>::value)
61418+ requires(!std::is_convertible<R, std::string_view>::value && !require_custom_serialization<R> )
6142261419simdjson_inline void string_builder::append(const R &range) noexcept {
6142361420 auto it = std::ranges::begin(range);
6142461421 auto end = std::ranges::end(range);
@@ -66741,7 +66738,7 @@ class string_builder {
6674166738#if SIMDJSON_SUPPORTS_RANGES && SIMDJSON_SUPPORTS_CONCEPTS
6674266739 // Support for range-based appending (std::ranges::view, etc.)
6674366740 template <std::ranges::range R>
66744- requires (!std::is_convertible<R, std::string_view>::value)
66741+ requires (!std::is_convertible<R, std::string_view>::value && !require_custom_serialization<R> )
6674566742 simdjson_inline void append(const R &range) noexcept;
6674666743#endif
6674766744 /**
@@ -76382,7 +76379,7 @@ simdjson_inline void string_builder::append(const T &value) {
7638276379#if SIMDJSON_SUPPORTS_RANGES && SIMDJSON_SUPPORTS_CONCEPTS
7638376380// Support for range-based appending (std::ranges::view, etc.)
7638476381template <std::ranges::range R>
76385- requires(!std::is_convertible<R, std::string_view>::value)
76382+ requires(!std::is_convertible<R, std::string_view>::value && !require_custom_serialization<R> )
7638676383simdjson_inline void string_builder::append(const R &range) noexcept {
7638776384 auto it = std::ranges::begin(range);
7638876385 auto end = std::ranges::end(range);
@@ -81705,7 +81702,7 @@ class string_builder {
8170581702#if SIMDJSON_SUPPORTS_RANGES && SIMDJSON_SUPPORTS_CONCEPTS
8170681703 // Support for range-based appending (std::ranges::view, etc.)
8170781704 template <std::ranges::range R>
81708- requires (!std::is_convertible<R, std::string_view>::value)
81705+ requires (!std::is_convertible<R, std::string_view>::value && !require_custom_serialization<R> )
8170981706 simdjson_inline void append(const R &range) noexcept;
8171081707#endif
8171181708 /**
@@ -91346,7 +91343,7 @@ simdjson_inline void string_builder::append(const T &value) {
9134691343#if SIMDJSON_SUPPORTS_RANGES && SIMDJSON_SUPPORTS_CONCEPTS
9134791344// Support for range-based appending (std::ranges::view, etc.)
9134891345template <std::ranges::range R>
91349- requires(!std::is_convertible<R, std::string_view>::value)
91346+ requires(!std::is_convertible<R, std::string_view>::value && !require_custom_serialization<R> )
9135091347simdjson_inline void string_builder::append(const R &range) noexcept {
9135191348 auto it = std::ranges::begin(range);
9135291349 auto end = std::ranges::end(range);
@@ -96784,7 +96781,7 @@ class string_builder {
9678496781#if SIMDJSON_SUPPORTS_RANGES && SIMDJSON_SUPPORTS_CONCEPTS
9678596782 // Support for range-based appending (std::ranges::view, etc.)
9678696783 template <std::ranges::range R>
96787- requires (!std::is_convertible<R, std::string_view>::value)
96784+ requires (!std::is_convertible<R, std::string_view>::value && !require_custom_serialization<R> )
9678896785 simdjson_inline void append(const R &range) noexcept;
9678996786#endif
9679096787 /**
@@ -106425,7 +106422,7 @@ simdjson_inline void string_builder::append(const T &value) {
106425106422#if SIMDJSON_SUPPORTS_RANGES && SIMDJSON_SUPPORTS_CONCEPTS
106426106423// Support for range-based appending (std::ranges::view, etc.)
106427106424template <std::ranges::range R>
106428- requires(!std::is_convertible<R, std::string_view>::value)
106425+ requires(!std::is_convertible<R, std::string_view>::value && !require_custom_serialization<R> )
106429106426simdjson_inline void string_builder::append(const R &range) noexcept {
106430106427 auto it = std::ranges::begin(range);
106431106428 auto end = std::ranges::end(range);
@@ -112179,7 +112176,7 @@ class string_builder {
112179112176#if SIMDJSON_SUPPORTS_RANGES && SIMDJSON_SUPPORTS_CONCEPTS
112180112177 // Support for range-based appending (std::ranges::view, etc.)
112181112178 template <std::ranges::range R>
112182- requires (!std::is_convertible<R, std::string_view>::value)
112179+ requires (!std::is_convertible<R, std::string_view>::value && !require_custom_serialization<R> )
112183112180 simdjson_inline void append(const R &range) noexcept;
112184112181#endif
112185112182 /**
@@ -121820,7 +121817,7 @@ simdjson_inline void string_builder::append(const T &value) {
121820121817#if SIMDJSON_SUPPORTS_RANGES && SIMDJSON_SUPPORTS_CONCEPTS
121821121818// Support for range-based appending (std::ranges::view, etc.)
121822121819template <std::ranges::range R>
121823- requires(!std::is_convertible<R, std::string_view>::value)
121820+ requires(!std::is_convertible<R, std::string_view>::value && !require_custom_serialization<R> )
121824121821simdjson_inline void string_builder::append(const R &range) noexcept {
121825121822 auto it = std::ranges::begin(range);
121826121823 auto end = std::ranges::end(range);
@@ -127051,7 +127048,7 @@ class string_builder {
127051127048#if SIMDJSON_SUPPORTS_RANGES && SIMDJSON_SUPPORTS_CONCEPTS
127052127049 // Support for range-based appending (std::ranges::view, etc.)
127053127050 template <std::ranges::range R>
127054- requires (!std::is_convertible<R, std::string_view>::value)
127051+ requires (!std::is_convertible<R, std::string_view>::value && !require_custom_serialization<R> )
127055127052 simdjson_inline void append(const R &range) noexcept;
127056127053#endif
127057127054 /**
@@ -136692,7 +136689,7 @@ simdjson_inline void string_builder::append(const T &value) {
136692136689#if SIMDJSON_SUPPORTS_RANGES && SIMDJSON_SUPPORTS_CONCEPTS
136693136690// Support for range-based appending (std::ranges::view, etc.)
136694136691template <std::ranges::range R>
136695- requires(!std::is_convertible<R, std::string_view>::value)
136692+ requires(!std::is_convertible<R, std::string_view>::value && !require_custom_serialization<R> )
136696136693simdjson_inline void string_builder::append(const R &range) noexcept {
136697136694 auto it = std::ranges::begin(range);
136698136695 auto end = std::ranges::end(range);
@@ -141936,7 +141933,7 @@ class string_builder {
141936141933#if SIMDJSON_SUPPORTS_RANGES && SIMDJSON_SUPPORTS_CONCEPTS
141937141934 // Support for range-based appending (std::ranges::view, etc.)
141938141935 template <std::ranges::range R>
141939- requires (!std::is_convertible<R, std::string_view>::value)
141936+ requires (!std::is_convertible<R, std::string_view>::value && !require_custom_serialization<R> )
141940141937 simdjson_inline void append(const R &range) noexcept;
141941141938#endif
141942141939 /**
@@ -151577,7 +151574,7 @@ simdjson_inline void string_builder::append(const T &value) {
151577151574#if SIMDJSON_SUPPORTS_RANGES && SIMDJSON_SUPPORTS_CONCEPTS
151578151575// Support for range-based appending (std::ranges::view, etc.)
151579151576template <std::ranges::range R>
151580- requires(!std::is_convertible<R, std::string_view>::value)
151577+ requires(!std::is_convertible<R, std::string_view>::value && !require_custom_serialization<R> )
151581151578simdjson_inline void string_builder::append(const R &range) noexcept {
151582151579 auto it = std::ranges::begin(range);
151583151580 auto end = std::ranges::end(range);
0 commit comments