Niels Lohmann
366f3d26e5
Replace snprintf with a branch-free writer for \uXXXX escapes ( #5235 )
...
* Replace snprintf with a branch-free writer for \uXXXX escapes
dump_escaped called std::snprintf(..., "\u%04x", ...) once per escaped
code point in the string serialization hot path. snprintf re-parses
the format string and pulls in locale/printf machinery on every call,
which is far heavier than the fixed 6-/12-byte output warrants. This
is hot for any string containing control characters, and for all
non-ASCII text when ensure_ascii is set.
Replace it with write_u_escape, a small helper that writes the escape
directly into string_buffer via a nibble-to-hex lookup table, mirroring
the existing hand-rolled dump_integer fast path in the same file.
Signed-off-by: Niels Lohmann <mail@nlohmann.me >
* Fix clang-tidy avoid-c-arrays warning in write_u_escape
Use a const char* rather than a char[] lookup table, matching the
existing hex_bytes helper in the same file.
Signed-off-by: Niels Lohmann <mail@nlohmann.me >
* ♻️ adjust write_u_escape signature
Signed-off-by: Niels Lohmann <mail@nlohmann.me >
---------
Signed-off-by: Niels Lohmann <mail@nlohmann.me >
2026-07-08 20:25:13 +02:00
Niels Lohmann
515d994acb
🦉 adjust year ( #5044 )
...
Signed-off-by: Niels Lohmann <mail@nlohmann.me >
2026-01-01 20:00:39 +01:00
Niels Lohmann
54be9b04f0
🦉 update REUSE ( #4960 )
2025-10-23 06:56:36 +02:00
Niels Lohmann
e02de2f971
Update to Doctest 2.4.12 ( #4771 )
...
* 🤜 Doctest 2.4.12
Signed-off-by: Niels Lohmann <mail@nlohmann.me >
* 🎓 fix warnings
Signed-off-by: Niels Lohmann <mail@nlohmann.me >
* 🎓 fix warnings
Signed-off-by: Niels Lohmann <mail@nlohmann.me >
* 🎓 fix warnings
Signed-off-by: Niels Lohmann <mail@nlohmann.me >
* 🎓 fix warnings
Signed-off-by: Niels Lohmann <mail@nlohmann.me >
* 🎓 fix warnings
Signed-off-by: Niels Lohmann <mail@nlohmann.me >
* 🎓 fix warnings
Signed-off-by: Niels Lohmann <mail@nlohmann.me >
* 🎓 fix warnings
Signed-off-by: Niels Lohmann <mail@nlohmann.me >
* 🎓 fix warnings
Signed-off-by: Niels Lohmann <mail@nlohmann.me >
* 🎓 fix warnings
Signed-off-by: Niels Lohmann <mail@nlohmann.me >
* 🎓 fix warnings
Signed-off-by: Niels Lohmann <mail@nlohmann.me >
* 🎓 fix warnings
Signed-off-by: Niels Lohmann <mail@nlohmann.me >
* 🎓 fix warnings
Signed-off-by: Niels Lohmann <mail@nlohmann.me >
* 🎓 fix warnings
Signed-off-by: Niels Lohmann <mail@nlohmann.me >
* 🎓 fix warnings
Signed-off-by: Niels Lohmann <mail@nlohmann.me >
* 🎓 fix warnings
Signed-off-by: Niels Lohmann <mail@nlohmann.me >
---------
Signed-off-by: Niels Lohmann <mail@nlohmann.me >
2025-05-15 19:25:27 +02:00
Niels Lohmann
1705bfe914
🔫 set version to 3.12.0 ( #4727 )
...
Signed-off-by: Niels Lohmann <mail@nlohmann.me >
2025-04-11 10:41:14 +02:00
Niels Lohmann
f06604fce0
Bump the copyright years ( #4606 )
...
* 🦉 bump the copyright years
Signed-off-by: Niels Lohmann <mail@nlohmann.me >
* 🦉 bump the copyright years
Signed-off-by: Niels Lohmann <mail@nlohmann.me >
* 🦉 bump the copyright years
Signed-off-by: Niels Lohmann <niels.lohmann@gmail.com >
---------
Signed-off-by: Niels Lohmann <mail@nlohmann.me >
Signed-off-by: Niels Lohmann <niels.lohmann@gmail.com >
2025-01-19 17:04:17 +01:00
Niels Lohmann
1b9a9d1f21
Update licenses ( #4521 )
...
* 🦉 update licenses
* 🦉 update licenses
2024-11-29 17:38:42 +01:00
Niels Lohmann
c35d260c2f
Suppress Clang-Tidy warnings ( #4276 )
2024-01-28 14:04:07 +01:00
Niels Lohmann
9cca280a4d
JSON for Modern C++ 3.11.3 ( #4222 )
2023-11-28 22:36:31 +01:00
Niels Lohmann
f56c6e2e30
Update documentation for the next release ( #4216 )
2023-11-26 15:51:19 +01:00
Niels Lohmann
a0c1318830
Fix CI + new Doctest ( #3985 )
2023-05-21 17:23:18 +02:00
Niels Lohmann
58bd97e2b1
Add clang-tools to required tools for ci_static_analysis_clang ( #3724 )
...
* 🧛 add clang-tools to required tools for ci_static_analysis_clang
* 🎓 update Clang-Tidy warning selection
* 🎓 fix Clang-Tidy warnings
* 🎓 fix Clang-Tidy warnings
* 🎓 fix Clang-Tidy warnings
* 🎓 fix Clang-Tidy warnings
* 🎓 fix Clang-Tidy warnings
* 🎓 fix Clang-Tidy warnings
* 🎓 fix Clang-Tidy warnings
* 🎓 fix Clang-Tidy warnings
* 🎓 fix Clang-Tidy warnings
* 🎓 fix Clang-Tidy warnings
* 🎓 fix Clang-Tidy warnings (#3738 )
* ⏪ revert fix
* ⏪ revert fix
* 🎓 fix Clang-Tidy warnings (#3739 )
Co-authored-by: Florian Albrechtskirchinger <falbrechtskirchinger@gmail.com >
2022-09-13 12:58:26 +02:00
Niels Lohmann
9d69186291
🔫 set version to 3.11.2
2022-08-12 15:04:06 +02:00
Niels Lohmann
f2020da0dd
🔫 set version to 3.11.1
2022-08-01 23:27:58 +02:00
Niels Lohmann
ce0e13ccea
🔫 set version to 3.11.0
2022-07-31 23:19:06 +02:00
Niels Lohmann
527da54dcb
Use REUSE framework ( #3546 )
...
* 🦉 add licenses
* 👷 add REUSE compliance check
* 📡 add badge for REUSE
Co-authored-by: Florian Albrechtskirchinger <falbrechtskirchinger@gmail.com >
2022-07-20 12:38:07 +02:00
Niels Lohmann
b21c345179
Reorganize directories ( #3462 )
...
* 🦃 move files
* 🦃 rename doc folder to docs
* 🦃 rename test folder to tests
2022-05-01 09:41:50 +02:00