fixing issue 2549 (#2567)

* fixing issue 2549

* saving.
This commit is contained in:
Daniel Lemire
2025-12-17 20:32:36 -05:00
committed by GitHub
parent 7987418b1f
commit 7ad9fe63a6
4 changed files with 56 additions and 9 deletions
@@ -519,8 +519,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>
@@ -24,9 +24,8 @@ struct has_custom_serialization : std::false_type {};
inline constexpr struct serialize_tag {
template <typename T>
requires custom_deserializable<T>
constexpr void operator()(SIMDJSON_IMPLEMENTATION::builder::string_builder& b, T& obj) const{
return tag_invoke(*this, b, obj);
constexpr void operator()(SIMDJSON_IMPLEMENTATION::builder::string_builder& b, T&& obj) const{
return tag_invoke(*this, b, std::forward<T>(obj));
}
@@ -165,7 +164,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>