Merge branch 'json-view/15-view-bench' into json-view/16-view-simd

Signed-off-by: Niels Lohmann <mail@nlohmann.me>
This commit is contained in:
Niels Lohmann
2026-10-01 10:28:48 +02:00
4 changed files with 19 additions and 5 deletions

View File

@@ -40,6 +40,8 @@ class string_ref
using const_iterator = const char*;
string_ref() noexcept = default;
// s must be null-terminated, as for std::string_view(const char*)
// flawfinder: ignore
string_ref(const char* s) : m_data(s), m_size(std::strlen(s)) {} // NOLINT(google-explicit-constructor,hicpp-explicit-conversions)
string_ref(const char* s, std::size_t n) noexcept : m_data(s), m_size(n) {}
template<typename Traits, typename Alloc>

View File

@@ -870,6 +870,7 @@ class basic_json_document
/// parse into this document, reusing its memory
template<typename InputType>
// flawfinder: ignore (a member function, not POSIX read())
void read(InputType&& input,
const bool allow_exceptions = true,
const bool ignore_comments = false,
@@ -1036,6 +1037,8 @@ class basic_json_document
return;
}
const char* cs = reinterpret_cast<const char*>(s); // NOLINT(cppcoreguidelines-pro-type-reinterpret-cast)
// C strings are null-terminated, as for json::parse(const char*)
// flawfinder: ignore
build(cs, std::strlen(cs), ae, c, tc, false, true);
}