Niels Lohmann
e9f88c2fad
Add missing erase(first, last) function to ordered_map ( #3109 )
2021-11-09 22:24:58 +01:00
Alex Beregszaszi
834918018e
Fix spelling ( #3125 )
2021-11-09 14:46:58 +01:00
Niels Lohmann
5c08a52fd6
♻️ overwork std specializations ( #3121 )
2021-11-04 16:38:40 +01:00
Niels Lohmann
5d87c4d409
Add recursive update function ( #3069 )
...
* ✨ add recursive update function
2021-11-03 13:52:20 +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
a09bfa5faa
🔖 set version to 3.10.4
2021-10-16 13:34:31 +02:00
Niels Lohmann
80cf9d7065
Revert invalid fix ( #3082 )
...
* ⏪ revert invalid fix
2021-10-16 13:27:28 +02:00
Niels Lohmann
ba046e4ea4
Allow to use get with explicit constructor ( #3079 )
...
* ⏪ remove "fix" that caused #3077
2021-10-14 21:01:14 +02:00
Théo DELRIEU
0e694b4060
fix std::filesystem::path regression ( #3073 )
...
* meta: rework is_compatible/is_constructible_string_type
These type traits performed an incorrect and insufficient check.
Converting to a std::filesystem::path used to work by accident thanks to
these brittle constraints, but the clean-up performed in #3020 broke them.
* support std::filesystem::path
Fixes #3070
2021-10-14 19:19:46 +02:00
Niels Lohmann
ab6a2c7425
🔖 set version to 3.10.3
2021-10-08 13:58:48 +02:00
Théo DELRIEU
80df5e8de6
meta: fix is_compatible/constructible traits ( #3020 )
...
The previous version relied on the existence of an 'iterator' type.
As mentioned in comments, this is not the proper way to do it and
causes issues with certain types (e.g. views from range-v3).
Add a 'is_range' trait that properly detects the return type of
'begin'/'end', and use it in instead.
2021-10-07 12:32:25 +02:00
Carl Smedstad
62f2997b79
Fix assertion failure for JSON_DIAGNOSTICS ( #3037 )
...
* Fix assertion failure #3032
2021-10-07 12:24:09 +02:00
Niels Lohmann
0b345b20c8
Allow allocators for output_vector_adapter ( #2989 )
...
* ♻️ allow allocators for vectors
* ✅ add regression tests
2021-09-12 18:55:47 +02:00
Anthony VH
58b83b71dc
Set parent pointers for values inserted via update() ( fixes #3007 ). ( #3008 )
...
* Set parent pointers for values inserted via update() (fixes #3007 ).
* Moved test for #3007 to proper file.
* Enable access to private members in diagnostics unit tests.
* Make style consistent with rest of code.
* Forced amalgamate rerun.
* Refactor test for #3007 so it doesn't use private members. Also extend to test both update() functions.
* Added fix for #3007 to update(const_iterator, const_iterator) as well.
* Added failing example code from #3007 as extra test.
2021-09-12 18:51:25 +02:00
Niels Lohmann
33b674b4b2
🔖 set version to 3.10.2
2021-08-26 08:13:04 +02:00
Giovanni Cerretani
28a169725e
Fix -Wunused warnings on JSON_DIAGNOSTICS ( #2976 )
...
* Fix #2975
Define JSON_DIAGNOSTICS to 0 if not defined to fix annoying Wundef warnings.
* amalgamated
2021-08-26 07:35:01 +02:00
Niels Lohmann
8ad66e9136
🔖 set version to 3.10.1
2021-08-24 20:19:55 +02:00
Niels Lohmann
c753165db6
Fix parent update for diagnostics with ordered_json ( #2963 )
...
🐛 fix parent update for diagnostics with ordered_json
2021-08-22 20:30:20 +02:00
Pierre Hallot
433604843d
Fix extra ";" clang warnings
2021-08-19 17:04:34 +02:00
Niels Lohmann
cfb71ad1bf
🐛 adding missing header
2021-08-18 13:33:35 +02:00
Niels Lohmann
1de378f580
🔖 set version to 3.10.0
2021-08-17 15:23:23 +02:00
Niels Lohmann
8cae9d7cd2
Overwork warning flags ( #2936 )
...
* ⚗️ update warning flags
2021-08-17 14:43:43 +02:00
Niels Lohmann
1aceeff3fc
🚨 fix C4244 warning
2021-08-14 13:40:52 +02:00
Niels Lohmann
0a0eb7a850
Merge branch 'develop' of https://github.com/nlohmann/json into issue2863
...
Conflicts:
.github/workflows/windows.yml
2021-08-14 11:19:48 +02:00
Ferry Huberts
cdbc50b9a8
Again forgot to amalgate (sigh)
...
Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
2021-08-13 15:33:05 +02:00
Ferry Huberts
95b73bcd01
Forgot to amalgate
...
Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
2021-08-13 14:22:18 +02:00
Ferry Huberts
44d60f8d14
All: fix warnings when compiling with -Wswitch-enum
...
Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
2021-08-12 16:33:50 +02:00
Niels Lohmann
e20f3f95eb
🚨 guard GCC pragmas #2924
2021-08-11 23:55:46 +02:00
Niels Lohmann
8ae31a56a5
Merge branch 'develop' of https://github.com/nlohmann/json into issue2824
2021-08-11 08:06:32 +02:00
Niels Lohmann
523f7c2c9d
💡 update documentation
2021-08-08 13:24:17 +02:00
Niels Lohmann
a4c3cf7798
💚 fix MSVC build
2021-08-07 13:40:01 +02:00
Niels Lohmann
89c98dfc20
✨ add option to process binary subtypes in CBOR
2021-08-06 16:41:01 +02:00
Niels Lohmann
b7db1d68d9
♻️ fix CBOR and BSON
2021-08-06 14:36:38 +02:00
Niels Lohmann
046df035fa
♻️ change type of binary subtype
2021-08-06 13:45:35 +02:00
Niels Lohmann
3eb1fb6be7
♻️ change type of binary subtype
2021-08-06 13:26:00 +02:00
Niels Lohmann
5c38e76c11
Merge branch 'develop' of https://github.com/nlohmann/json into issue2863
2021-08-06 13:23:26 +02:00
Sven Fink
353d59717e
Add more suppressions on float comparisons
2021-08-04 08:34:53 +02:00
Sven Fink
095aae19fe
Supress -Wfloat-equal on intended float comparisions
2021-08-03 08:58:38 +02:00
Niels Lohmann
7c19aa2210
♻️ overwork byte_container_with_subtype
2021-08-01 22:00:57 +02:00
Niels Lohmann
c3df4ffd5a
🚨 fix warning
2021-08-01 14:08:14 +02:00
Niels Lohmann
9a459e1bd5
🚨 fix useless-cast warnings
2021-07-30 15:20:22 +02:00
Niels Lohmann
7feb2c20cf
🚨 fix useless-cast warnings
2021-07-30 14:48:25 +02:00
Niels Lohmann
a563338039
Merge pull request #2825 from ldionne/ldionne-lazy
...
Properly constrain the basic_json conversion operator
2021-07-22 12:24:56 +02:00
Louis Dionne
b0e5965d71
Properly constrain the basic_json conversion operator
...
Fixes #2491
2021-07-19 11:16:27 -04:00
Niels Lohmann
7066ab128f
🎨 reindent code
2021-07-19 16:56:28 +02:00
Niels Lohmann
b7cc47089f
⚡ avoid string in case of empty objects
2021-07-16 09:27:18 +02:00
Niels Lohmann
c89e23c69b
Merge pull request #2874 from nlohmann/issue2572
...
Fix truncation warning
2021-07-16 07:54:48 +02:00
Niels Lohmann
953dcfb611
🚨 fix warning #2572
2021-07-15 22:00:16 +02:00
Niels Lohmann
3e4723a49f
🔨 remove noexcept annotation
2021-07-15 21:49:09 +02:00
Niels Lohmann
ecaac22656
💡 add comment to describe j.m_value.destroy(j.m_type) calls
2021-07-15 20:34:50 +02:00
Niels Lohmann
f6863e062c
🐛 fix leak for all types
2021-07-15 20:32:37 +02:00
Niels Lohmann
0011cd1b72
🐛 fix leak for strings
2021-07-15 13:12:21 +02:00
Niels Lohmann
0f8666ecdc
🐛 fix leak for strings
2021-07-15 13:03:20 +02:00
Niels Lohmann
6cbdc83994
🐛 fix leak for strings
2021-07-15 12:47:15 +02:00
Niels Lohmann
149ded856f
♻️ simplify destroy() function for primitive types
2021-07-15 12:46:48 +02:00
Niels Lohmann
a711e1f5a7
🚨 fix warnings
2021-07-13 15:37:57 +02:00
Niels Lohmann
3bb9467073
♻️ move capacity check to set_parent function
2021-07-13 15:27:27 +02:00
Niels Lohmann
bc7e8faa4f
🔥 remove duplicated line
2021-07-12 19:21:07 +02:00
Niels Lohmann
b0730f29cf
🐛 fix logics
2021-07-12 15:24:06 +02:00
Niels Lohmann
d40e98ecef
🐛 fix assertion failure #2838
2021-07-12 13:38:28 +02:00
David Pfahler
aa849a2275
Merge branch 'nlohmann:develop' into without-io
2021-06-14 08:22:49 +02:00
David Pfahler
e939b59683
fixed amalgation file for #2728
2021-05-31 14:27:23 +02:00
Niels Lohmann
b08139ea4b
♻️ replace EOF with std::char_traits<char>::eof()
2021-05-04 10:22:34 +02:00
Niels Lohmann
d0ab2b86c3
📝 update documentation
2021-04-29 17:19:57 +02:00
Niels Lohmann
8a29a6ecf4
Merge pull request #2731 from theShmoo/custom-cpp-version
...
Fixes #2730
2021-04-29 09:55:16 +02:00
Niels Lohmann
cdfe865486
📝 add documentation for numbers
2021-04-28 20:33:05 +02:00
David Pfahler
d140a1c777
fixed amalgamation file
2021-04-26 08:39:24 +02:00
Niels Lohmann
a34e011e24
Merge pull request #2576 from AnthonyVH/non_default_constructable_stl_containers
...
Add support for deserialization of STL containers of non-default constructable types (fixes #2574 ).
2021-04-25 15:22:37 +02:00
David Pfahler
0a2de2f5b9
fixed amalgation file for #2728
2021-04-21 12:54:55 +02:00
David Pfahler
6b267e3cb1
fixed amalgation file for #2730
2021-04-21 12:53:58 +02:00
David Pfahler
38952643c5
generate amalgation to fix CI for #2730
2021-04-21 12:46:37 +02:00
raduteo
e8dbd7be86
Update json.hpp
...
Proposed fix for #2706
2021-04-09 09:35:58 -04:00
Anthony VH
2b865131d8
Fixing CI errors.
2021-03-24 23:33:21 +01:00
Niels Lohmann
41dbd50313
📄 use code from Google Abseil
2021-03-24 13:27:00 +01:00
Anthony VH
322bc99d8e
Reran amalgamate.
2021-03-24 13:03:36 +01:00
Anthony VH
333612ce35
Merge remote-tracking branch 'upstream/develop' into non_default_constructable_stl_containers
2021-03-24 12:33:57 +01: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
Remy Jette
0a9ec38f44
Remove HEDLEY annotation from exception::what()
...
The latest MSVC compiler throws the following warning on
nlohmann::detail::exception::what() if /analyze is enabled:
```
vcruntime_exception.h(93) : warning C28204: 'what' has an override at
`nlohmann\json\develop\single_include\nlohmann\json.hpp(2644)`
and only the override is annotated for return: when an override is
annotated, the base (this function) should be similarly annotated.
```
See https://godbolt.org/z/r331h4
2021-03-15 17:45:40 -07:00
Niels Lohmann
176d8e261a
Merge pull request #2562 from nlohmann/diagnostics
...
Better diagnostics
2021-02-10 07:20:54 +01:00
Niels Lohmann
bb90e34d22
⬆️ Hedley v15
2021-02-07 17:47:08 +01:00
Niels Lohmann
56a6dec0de
🔀 merge develop branch
2021-02-07 17:46:11 +01:00
Niels Lohmann
6d4eed5aeb
🚨 fix warning
2021-01-30 12:51:54 +01:00
Niels Lohmann
ffdeb77468
🚨 fix warnings #2615
2021-01-27 12:54:46 +01:00
Anthony VH
130382f2a9
Remove comment about GCC commit which didn't really relate to the code.
2021-01-24 20:02:24 +01:00
Anthony VH
848927ae90
Updated comments as requested.
2021-01-23 18:24:47 +01:00
Anthony VH
6eb37e9b78
Only add conditional constexpr to get() for >= C++14 to work around errors on older compilers.
2021-01-14 12:41:30 +01:00
Anthony VH
d7c0f157c5
Merged from_json for pair and tuple to try to fix C2995 error in old MSVC versions.
2021-01-13 20:47:03 +01:00
Anthony VH
fbf6df63d9
Enable member function calls in trailing return decltype expressions for older compilers.
2021-01-13 00:12:51 +01:00
Anthony VH
fc8c584288
Regenerated single include.
2021-01-12 18:29:05 +01:00
Anthony VH
672e8bfc1d
Fixed std::pair trying to deserialize via array functions.
2021-01-11 18:16:15 +01:00
Anthony VH
23f462b598
Reduced code duplication, renamed tag to identity_tag.
2021-01-10 19:23:32 +01:00
Anthony VH
c0a8b45bbb
Renamed template parameter and added some comments.
2021-01-09 17:45:56 +01:00
Anthony VH
1e825e4f92
Add support for deserialization of STL containers of non-default constructable types ( fixes #2574 ).
2021-01-09 00:08:27 +01:00
Niels Lohmann
085d497bf7
📄 update copyright year
2021-01-03 20:28:06 +01:00
Niels Lohmann
bdb2469c31
🚨 fix warnings
2020-12-29 21:36:30 +01:00
Niels Lohmann
433da31334
⚗️ try to use GCC 10
2020-12-29 20:16:51 +01:00
Niels Lohmann
98b2152452
Merge branch 'develop' of https://github.com/nlohmann/json into std_bytes
2020-12-29 14:37:46 +01:00
Jaakko Moisio
467f622c65
Fix compilation of input_adapter(container) in edge cases
...
This fixes a compilation issue with the library if trying to use containers that
don't have non-member `begin()` and `end()` functions via ADL.
This patch extends the `using std::begin` and `using std::end` declarations to
also cover the return type deduction of the input_adapter() template
specialization for containers. The previous implementation only enabled the
detection of `std::begin()` and `std::end()` in the function body, making the
specialization unusable for container types that only have member `begin()` and
`end()` functions.
It is not typical to have `using` declarations in the namespace scope in a
header file. But a C++11 implementation can't rely on fully automatic return
type deduction, and needs to rely on ADL enabled helper templates. To prevent
the using declarations leaking, they are enclosed in another nested namespace.
2020-12-28 22:21:02 +01:00
Niels Lohmann
5dd06714b1
🐛 allow parsing from std::byte containers #2546
2020-12-28 11:31:21 +01:00
Niels Lohmann
dfedefb993
🚨 fix warnings
2020-12-26 17:56:16 +01:00