Niels Lohmann
5b11a0282c
Exchange the CustomBaseClass subobject in basic_json::swap() ( #5697 )
...
basic_json::swap() (and the friend swap() and the pre-C++20 std::swap
overload that forward to it) only exchanged m_data.m_type/m_data.m_value,
leaving each value's json_base_class_t subobject in place. This is
inconsistent with the copy and move constructors and copy assignment,
which all carry the base class along with the value, so after
a.swap(b) any metadata stored in a CustomBaseClass ended up attached to
the wrong value. Algorithms that mix swap() with moves, such as
std::sort, scrambled the metadata across the whole container.
Fix the member swap() to also exchange the json_base_class_t subobject
and extend the noexcept specifications of swap() and the friend swap()
accordingly.
Fixes #5653 .
Signed-off-by: Niels Lohmann <mail@nlohmann.me >
2026-09-30 20:07:24 +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
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
6057b31df7
Overwork astyle call ( #4573 )
...
* 🔧 overwork astyle call
* 🔧 overwork astyle call
* 🔧 overwork astyle call
* 🔧 overwork astyle call
* 🔧 overwork astyle call
* 🔧 overwork astyle call
* 🔧 overwork astyle call
* 🔧 overwork astyle call
* 🔧 overwork astyle call
* 🔧 overwork astyle call
* 🔧 overwork astyle call
* Use ubuntu-latest image to run Valgrind (#4575 )
* 🔧 use Clang image to run valgrind
* 🔧 use Clang image to run valgrind
* 🔧 use Clang image to run valgrind
* 🔧 use Ubuntu image to run valgrind
* Use Clang image to run iwyu (#4574 )
* 🔧 use Clang image to run iwyu
* 🔧 use Clang image to run iwyu
* 🔧 overwork astyle call
* 🔧 overwork astyle call
* 🔧 overwork astyle call
* 🔧 overwork astyle call
* 🔧 overwork astyle call
* 🔧 overwork astyle call
* 🔧 overwork astyle call
* 🔧 overwork astyle call
* 🔧 overwork astyle call
* 🔧 overwork astyle call
* 🔧 overwork astyle call
* 🎨 format code
* 🔨 clean up
2024-12-29 17:06:03 +01:00
Niels Lohmann
1b9a9d1f21
Update licenses ( #4521 )
...
* 📄 update licenses
* 📄 update licenses
2024-11-29 17:38:42 +01:00
Niels Lohmann
9cca280a4d
JSON for Modern C++ 3.11.3 ( #4222 )
2023-11-28 22:36:31 +01:00
Colby Haskell
5d931c59a3
Fix failing CI checks ( #4215 )
2023-11-25 18:04:59 +01:00
Niels Lohmann
836b7beca4
Fix CI, again ( #4083 )
2023-09-07 20:41:12 +02:00
Niels Lohmann and Florian Albrechtskirchinger
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
bed648ca55
Allow custom base class as node customization point ( #3110 )
...
Co-authored-by: Niels Lohmann <niels.lohmann@gmail.com >
Co-authored-by: Florian Albrechtskirchinger <falbrechtskirchinger@gmail.com >
Co-authored-by: barcode <barcode@example.com >
2022-08-28 13:59:07 +02:00