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
Raphael Grimm
bbe337c3a3
Prevent memory leak when exception is thrown in adl_serializer::to_json ( #3901 )
...
Co-authored-by: barcode <barcode@example.com>
2023-03-08 13:43:45 +01:00
Niels Lohmann
2ca8dabeb9
Remove a magic number ( #3888 )
2022-12-18 17:04:51 +01: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
Florian Albrechtskirchinger
d909f80960
Add versioned, ABI-tagged inline namespace and namespace macros ( #3590 )
...
* Add versioned inline namespace
Add a versioned inline namespace to prevent ABI issues when linking code
using multiple library versions.
* Add namespace macros
* Encode ABI information in inline namespace
Add _diag suffix to inline namespace if JSON_DIAGNOSTICS is enabled, and
_ldvcmp suffix if JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON is enabled.
* Move ABI-affecting macros into abi_macros.hpp
* Move std_fs namespace definition into std_fs.hpp
* Remove std_fs namespace from unit test
* Format more files in tests directory
* Add unit tests
* Update documentation
* Fix GDB pretty printer
* fixup! Add namespace macros
* Derive ABI prefix from NLOHMANN_JSON_VERSION_*
2022-07-30 21:59:13 +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
Florian Albrechtskirchinger
616caea27a
Re-template json_pointer on string type ( #3415 )
...
* Make exception context optional
Change exception context parameter to pointer and replace context with
nullptr where appropriate.
* Support escaping other string types
* Add string concatenation function
Add variadic concat() function for concatenating char *, char, and
string types.
* Replace string concatenations using + with concat()
* Template json_pointer on string type
Change json_pointer from being templated on basic_json to being
templated on string type.
* Add unit test for #3388
Closes #3388 .
* Fix regression test for #2958
* Add backwards compatibility with json_pointer<basic_json>
* Update json_pointer docs
* Allow comparing different json_pointers
* Update version numbers
2022-04-12 14:18:16 +02:00
Niels Lohmann
6d8d043add
♻️ make function static
2022-01-05 21:21:46 +01:00
Niels Lohmann
9e89c2fdb5
♻️ remove stringstream ( #3244 )
2022-01-04 09:25:41 +01:00
Niels Lohmann
1aca6cb949
Add build step for NVCC and fix a warning ( #3227 )
...
* 👷 add step for NVCC build #2676
* 🚨 fix warning (code taken from #2736 )
* 👷 use version 2.2.0 of the CI image
2021-12-30 13:40:15 +01:00
Niels Lohmann
29cd970b94
Consolidate documentation ( #3071 )
...
* 🔥 consolidate documentation
* ♻️ overwork std specializations
* 🚚 move images files to mkdocs
* ♻️ fix URLs
* 🔧 tweak MkDocs configuration
* 🔧 add namespaces
* 📝 document deprecations
* 📝 document documentation generation
* 🚸 improve search
* 🚸 add examples
* 🚧 start adding documentation for macros
* 📝 add note for https://github.com/nlohmann/json/issues/874#issuecomment-1001699139
* 📝 overwork example handling
* 📝 fix Markdown tables
2021-12-29 13:41:01 +01:00
Niels Lohmann
6d3115924c
Add C++17 copies of the test binaries ( #3101 )
...
* ⚗️ add C++17 copies of the test binaries
* ⚗️ use proper header for filesystem
* 🚨 fix warnings
* ⚗️ do not use too old compilers with C++17
* ✅ add test
* 🔨 add more constraints #3097
* ⚗️ use fix from https://github.com/nlohmann/json/pull/3101#issuecomment-998788786
* ⚗️ use fix from https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90050
* 👷 use published CI image
2021-12-29 09:47:05 +01:00
Niels Lohmann
7440786b81
Update CI ( #3088 )
...
* 👷 prepare GitHub actions for new Docker image
* 👷 use experimental docker image
* 👷 use Clang-Analyzer 14
* 🔇 suppress readability-identifier-length
* 🔇 suppress more Clang-Tidy warnings
* ♻️ simplify code
* 🔇 suppress more Clang-Tidy warnings
* 🔇 suppress more Clang-Tidy warnings
* 🚨 fix warning
* 🚨 fix warning
* 🚨 fix warning
* 👷 use new Docker image
2021-10-29 21:27:34 +02:00
Niels Lohmann
80cf9d7065
Revert invalid fix ( #3082 )
...
* ⏪ revert invalid fix
2021-10-16 13:27:28 +02:00
Niels Lohmann
523f7c2c9d
💡 update documentation
2021-08-08 13:24:17 +02:00
Niels Lohmann
046df035fa
♻️ change type of binary subtype
2021-08-06 13:45:35 +02:00
Niels Lohmann
996ac1c017
Merge branch 'develop' of https://github.com/nlohmann/json into issue2572
...
Conflicts:
include/nlohmann/detail/output/serializer.hpp
single_include/nlohmann/json.hpp
2021-07-15 21:57:52 +02:00
Niels Lohmann
6f551930e5
🚨 add new CI and fix warnings ( #2561 )
...
* ⚗️ move CI targets to CMake
* ♻️ add target for cpplint
* ♻️ add target for self-contained binaries
* ♻️ add targets for iwyu and infer
* 🔊 add version output
* ♻️ add target for oclint
* 🚨 fix warnings
* ♻️ rename targets
* ♻️ use iwyu properly
* 🚨 fix warnings
* ♻️ use iwyu properly
* ♻️ add target for benchmarks
* ♻️ add target for CMake flags
* 👷 use GitHub Actions
* ⚗️ try to install Clang 11
* ⚗️ try to install GCC 11
* ⚗️ try to install Clang 11
* ⚗️ try to install GCC 11
* ⚗️ add clang analyze target
* 🔥 remove Google Benchmark
* ⬆️ Google Benchmark 1.5.2
* 🔥 use fetchcontent
* 🐧 add target to download a Linux version of CMake
* 🔨 fix dependency
* 🚨 fix includes
* 🚨 fix comment
* 🔧 adjust flags for GCC 11.0.0 20210110 (experimental)
* 🐳 user Docker image to run CI
* 🔧 add target for Valgrind
* 👷 add target for Valgrind tests
* ⚗️ add Dart
* ⏪ remove Dart
* ⚗️ do not call ctest in test subdirectory
* ⚗️ download test data explicitly
* ⚗️ only execute Valgrind tests
* ⚗️ fix labels
* 🔥 remove unneeded jobs
* 🔨 cleanup
* 🐛 fix OCLint call
* ✅ add targets for offline and git-independent tests
* ✅ add targets for C++ language versions and reproducible tests
* 🔨 clean up
* 👷 add CI steps for cppcheck and cpplint
* 🚨 fix warnings from Clang-Tidy
* 👷 add CI steps for Clang-Tidy
* 🚨 fix warnings
* 🔧 select proper binary
* 🚨 fix warnings
* 🚨 suppress some unhelpful warnings
* 🚨 fix warnings
* 🎨 fix format
* 🚨 fix warnings
* 👷 add CI steps for Sanitizers
* 🚨 fix warnings
* ⚡ add optimization to sanitizer build
* 🚨 fix warnings
* 🚨 add missing header
* 🚨 fix warnings
* 👷 add CI step for coverage
* 👷 add CI steps for disabled exceptions and implicit conversions
* 🚨 fix warnings
* 👷 add CI steps for checking indentation
* 🐛 fix variable use
* 💚 fix build
* ➖ remove CircleCI
* 👷 add CI step for diagnostics
* 🚨 fix warning
* 🔥 clean Travis
2021-03-24 07:15:18 +01:00
Niels Lohmann
74cc0ab470
♻️ remove diagnostics_t class
2021-01-25 13:47:50 +01:00
Niels Lohmann
42218cac1b
⚗️ try 9 bytes
2021-01-21 22:01:09 +01:00
Niels Lohmann
29f7abf57d
🚨 fix format-truncation warning #2572
2021-01-15 17:01:47 +01:00
Niels Lohmann
1d6ba22f15
♻️ simplify code
2021-01-10 14:10:59 +01:00
Niels Lohmann
e160749003
♻️ move diagnostic code in header
2021-01-09 19:21:18 +01:00
Joseph Blackman
9f45d314d5
Apply suggestions from code review
...
Co-authored-by: Niels Lohmann <niels.lohmann@gmail.com>
2020-11-24 11:02:58 -08:00
jbzdarkid
64ff1cf90d
Add asserts to suppress C28020
2020-10-26 13:57:38 -07:00
Niels Lohmann
9d726c25d5
♻️ remove "#define private public"
2020-08-12 13:30:06 +02:00
Niels Lohmann
8d295235a5
🔥 remove unused boolean_operators.hpp header
2020-07-11 19:20:44 +02:00
Niels Lohmann
dc06f100be
Merge branch 'develop' of https://github.com/nlohmann/json into clang_windows
...
Conflicts:
include/nlohmann/detail/input/binary_reader.hpp
include/nlohmann/detail/input/json_sax.hpp
include/nlohmann/detail/input/lexer.hpp
include/nlohmann/detail/input/parser.hpp
include/nlohmann/detail/json_pointer.hpp
include/nlohmann/detail/output/serializer.hpp
include/nlohmann/json.hpp
single_include/nlohmann/json.hpp
2020-07-11 14:04:40 +02:00
Niels Lohmann
98b1c6d302
🚩 use JSON_ASSERT(x) instead of assert(x)
2020-07-06 12:22:31 +02:00
Niels Lohmann
ac3922c7aa
Merge branch 'develop' of https://github.com/nlohmann/json into clang_windows
...
Conflicts:
include/nlohmann/detail/input/binary_reader.hpp
include/nlohmann/detail/input/input_adapters.hpp
include/nlohmann/detail/input/lexer.hpp
include/nlohmann/detail/output/binary_writer.hpp
include/nlohmann/json.hpp
single_include/nlohmann/json.hpp
2020-06-27 13:14:48 +02:00
Niels Lohmann
a9809f3381
🏁 revert change that breaks with MSVC
2020-06-22 23:02:28 +02:00
Niels Lohmann
8b3d2399a4
🚨 remove warnings
2020-06-22 22:32:21 +02:00
Niels Lohmann
0498202a03
🎨 replace alternative operators (and, not, or)
2020-06-03 14:20:36 +02:00
Niels Lohmann
b7ff40029a
💥 change serialization of binary values
2020-05-18 13:53:20 +02:00
Niels Lohmann
904642f261
♻️ rename internal_binary_t with binary_t
2020-05-17 22:50:27 +02:00
Niels Lohmann
6154d50a9f
Merge pull request #2115 from nlohmann/issue2089
...
Do not include <ciso646> when using C++17
2020-05-17 12:17:17 +02:00
Niels Lohmann
9adb1c0235
🏁 do not include <ciso646> unless old MSVC is used #2089
2020-05-07 09:43:41 +02:00
Niels Lohmann
c10bc7efdd
🔥 remove pretty-print code for binary values
2020-05-06 22:13:08 +02:00
Niels Lohmann
2e5727d778
🐛 properly pass serialize_binary to dump function #2067
2020-04-27 15:10:23 +02:00
Niels Lohmann
3607687a14
Merge pull request #2053 from nlohmann/gcc10warnings
...
Fix GCC compiler warnings
2020-04-20 08:05:42 +02:00
Niels Lohmann
e8356928bd
🚨 fix compiler warnings #2052
2020-04-19 13:25:02 +02:00
Niels Lohmann
4fb0795ec1
🚨 fix compiler warnings #2049
2020-04-19 13:01:36 +02:00
Niels Lohmann
3bc9e053c9
Merge pull request #1969 from dota17/dota17-warning
...
fix warnings in serializer.hpp for VS2019
2020-04-17 10:10:38 +02:00
Michael Reilly
012c9665ac
Add binary type support to all binary file formats, as well as an internally represented binary type
2020-04-14 10:22:45 -04:00
chenguoping
59cb4c93be
fix C26451 warnning in serializer.hpp for VS2019
2020-03-23 16:08:47 +08:00
Thomas Braun
6ce2f35ba8
Fix outputting extreme integer values in edge cases
...
For some gcc version (Ubuntu 5.5.0-12ubuntu1~16.04) the existing code
crashes when the minimum value of int64_t is outputted.
Resurrect the code from before 546e2cbf
(🚨 fixed some warnings,
2019-03-13) but delegate the sign removal so that the compilers don't
complain about taking the negative value of an unsigned value.
In addition we also rewrite the expression so that we first increment
and then negate.
The definition of remove_sign(number_unsigned_t) is never called as
unsigned values are never negative.
2019-09-03 13:55:15 +02:00