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
Niels Lohmann
f15d447522
🚨 fix warnings
2020-12-26 14:55:19 +01:00
Alexander Karzhenkov
cd7acc1dc5
Include <string_view> in "nlohmann/json.hpp" when C++17 is used
2020-12-20 19:40:36 +05:00
Niels Lohmann
af8c6e7aa9
Merge pull request #2533 from nlohmann/c++_future
...
Do not unconditionally redefine C++14 constructs
2020-12-16 20:54:09 +01:00
Niels Lohmann
5c1a5bc9c1
Merge pull request #2534 from nlohmann/clarify_license
...
Clarify license of is_complete_type implementation
2020-12-16 20:53:38 +01:00
Niels Lohmann
5cc5285fe8
🚨 fix shadowing warning
2020-12-15 22:15:36 +01:00
Niels Lohmann
94d177e09a
📄 clarify license
2020-12-14 14:58:59 +01:00
Niels Lohmann
467986fe98
♻️ do not unconditionally redefine C++14 constructs
2020-12-14 14:31:27 +01:00
Niels Lohmann
85ffc85a29
🎨 amalgamate code
2020-12-14 10:38:49 +01:00
Niels Lohmann
3ad6992f50
Merge pull request #2405 from karzhenkov/fix-json_ref-move
...
Fix move constructor of json_ref
2020-12-11 13:36:33 +01:00
Niels Lohmann
e3643aadf7
Merge pull request #2447 from jbzdarkid/develop
...
Add asserts to suppress C28020
2020-12-11 13:27:52 +01:00
Krylov Yaroslav
972c15f26e
ordered_map::insert(InputIt first, InputIt last) is added
2020-12-07 20:15:41 +03: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
Alexander Karzhenkov
42a9dc0bc3
Improve json_ref implementation
2020-09-27 10:45:21 +05:00
Niels Lohmann
14f8be11ce
Merge branch 'develop' of https://github.com/nlohmann/json into hedley14
2020-08-24 16:12:11 +02:00
Niels Lohmann
9d726c25d5
♻️ remove "#define private public"
2020-08-12 13:30:06 +02:00
Niels Lohmann
411fc3249b
⬆️ Hedley 14 (dev branch)
2020-08-12 13:00:57 +02:00
Niels Lohmann
b888afe5f4
Merge pull request #2349 from nlohmann/issue2348
...
Remove -Wimplicit-fallthrough warning
2020-08-11 09:05:02 +02:00
Niels Lohmann
dd8cb2acc1
🚨 remove -Wimplicit-fallthrough warning #2348
2020-08-10 20:48:39 +02:00
Niels Lohmann
4080d0b1a4
✅ add test to compile without exceptions
2020-08-10 09:48:11 +02:00
Niels Lohmann
824d55bf26
📝 fix documentation #1668
2020-08-10 09:24:11 +02:00
Niels Lohmann
b3e5cb7f20
🔖 set version to 3.9.1
2020-08-06 13:45:29 +02:00
Niels Lohmann
f4155e4727
Merge pull request #2333 from nlohmann/fallthrough
...
Fix fallthrough warning
2020-08-01 15:32:21 +02:00
Niels Lohmann
0326e4e2a6
🚨 fix fallthrough warning
2020-07-31 19:24:03 +02:00
Niels Lohmann
3888b1642a
🐛 fix lexer to properly cope with repeated comments #2330
2020-07-31 18:59:22 +02:00
Niels Lohmann
f13af83a94
🐛 add more functions from std::map to nlohmann::ordered_map
2020-07-28 21:47:06 +02:00
Niels Lohmann
e590604822
🐛 fix a bug due to missing overloads in ordered_map container
2020-07-28 14:20:31 +02:00
Niels Lohmann
e110667d21
🔖 set version to 3.9.0
2020-07-27 15:48:09 +02:00
Niels Lohmann
67ed63b196
Merge pull request #2312 from nlohmann/docs
...
Update documentation
2020-07-26 10:06:01 +02:00
Niels Lohmann
808aca41aa
Merge pull request #2305 from AODQ/develop
...
fixes unused variable 'ex' for #2304
2020-07-25 21:51:54 +02:00
Niels Lohmann
1816aae862
Merge branch 'develop' of https://github.com/nlohmann/json into docs
2020-07-25 21:48:51 +02:00
Niels Lohmann
980f8c6f61
🔀 merge develop branch
2020-07-25 21:45:47 +02:00
Niels Lohmann
40b78d3847
Merge pull request #2308 from nlohmann/cbor_tags
...
Fix bug in CBOR tag handling
2020-07-25 19:43:11 +02:00
Niels Lohmann
fad14aabe7
📝 update output of meta function
2020-07-25 14:41:06 +02:00
Niels Lohmann
62f98b7537
Merge branch 'develop' of https://github.com/nlohmann/json into docs
2020-07-25 11:20:13 +02:00
Niels Lohmann
c00c3162b2
Merge branch 'develop' into develop
2020-07-25 10:52:42 +02:00
aodq
15ec0fe150
change c-style cast to static_cast for #2304
2020-07-24 16:21:30 -04:00
Niels Lohmann
d8d499ce9b
📝 add more documentation
2020-07-24 14:35:52 +02:00
Niels Lohmann
480ad529e3
🐛 fix bug in CBOR tag handling
2020-07-24 14:18:39 +02:00
Jonas Wittbrodt
0f22ed0b5b
added inline to DEFINE_TYPE macro
2020-07-23 19:24:21 +02:00
aodq
12885446d8
fixes unused variable 'ex' for #2304
2020-07-23 13:21:38 -04:00
Niels Lohmann
230dcfb7a3
🚨 add prefix to avoid shadowing
2020-07-23 12:57:52 +02:00
Niels Lohmann
a048b72fe1
Merge pull request #1559 from theodelrieu/feat/explicit_conversion_operator
...
Feat/explicit conversion operator
2020-07-23 08:52:51 +02:00
Théo DELRIEU
74b446f5fd
add a switch to enable implicit conversions (defaults to true)
...
wrap implicit conversions tests around the JSON_USE_IMPLICIT_CONVERSIONS
macro
2020-07-22 10:49:01 +02:00
Niels Lohmann
8b14c9b305
🚨 fix warnings
2020-07-21 23:00:56 +02:00
Niels Lohmann
8344857764
Merge pull request #2287 from pfeatherstone/develop
...
Serialisation macros: increase upper bound on number of member variables
2020-07-20 21:35:55 +02:00
Niels Lohmann
893eda8353
Merge pull request #2294 from jprochazk/develop
...
fix eof for get_binary and get_string
2020-07-20 08:02:03 +02:00
pf
0b744e1ed0
[JSON] - dirty code for building intrusive and non-intrusive serialisation/deserialisation macros for custom types
...
- used code to increase the upper bound on number of member variables to 64
2020-07-19 17:26:56 +01:00
Niels Lohmann
b1da58b76b
Merge pull request #2282 from nlohmann/missing_sax_check
...
Add static assertion for missing binary function in SAX interface
2020-07-19 18:09:08 +02:00
jprochazk
d371a5283c
run amalgamate
2020-07-19 10:57:17 +02:00
T0b1-iOS
88243b3f8c
run amalgamate
2020-07-18 07:09:56 +02:00
Niels Lohmann
7fc4b2901a
🚸 add static assertion for missing binary function in SAX interface
2020-07-17 20:41:11 +02:00
Niels Lohmann
a10d486e36
Merge pull request #2244 from matthewbauer/tag-cbor
...
Tag binary values in cbor if set
2020-07-17 14:05:48 +02:00
Niels Lohmann
e65cc9dccb
Merge pull request #2274 from nlohmann/analyzers
...
Clean up maintainer Makefiles and fix some linter warnings
2020-07-17 14:01:19 +02:00
Niels Lohmann
548e7e54c9
Merge pull request #2273 from nlohmann/issue1968
...
Add option to ignore CBOR tags
2020-07-17 13:59:55 +02:00
Niels Lohmann
6023a7ccd9
Merge branch 'develop' into analyzers
2020-07-17 13:59:32 +02:00
Niels Lohmann
d047b3d495
🚨 remove linter warning
2020-07-16 14:45:39 +02:00
Niels Lohmann
4c59d6aaef
🔥 remove leftover
2020-07-16 09:43:35 +02:00
Niels Lohmann
b821ed074f
💡 add documentation
2020-07-15 13:45:16 +02:00
Niels Lohmann
9449dfcc6a
💚 add test cases for hash
2020-07-15 09:27:01 +02:00
Niels Lohmann
33b0bed7fe
💚 fix compilation
2020-07-14 14:34:55 +02:00
Niels Lohmann
5b229f4cce
⚡ hash function without allocation
2020-07-14 14:31:19 +02:00
Niels Lohmann
3952739189
✨ add CBOR tag handler #1968
2020-07-12 16:51:43 +02:00
Niels Lohmann
e316f5c5b6
Merge pull request #2258 from nlohmann/issue2179
...
Add ordered_json specialization with ordered object keys
2020-07-12 13:11:23 +02:00
Niels Lohmann
8d295235a5
🔥 remove unused boolean_operators.hpp header
2020-07-11 19:20:44 +02:00
Niels Lohmann
6477b9b20a
♻️ replace further alternative operators
2020-07-11 14:09:06 +02:00
Niels Lohmann
7f923424b3
🔀 merge develop branch and resolve conflicts
2020-07-11 14:05:02 +02:00
Niels Lohmann
3a80823ff8
🔀 merge develop branch and resolve conflicts
2020-07-11 13:21:13 +02:00
Niels Lohmann
4c7bd014d9
Merge pull request #2242 from nlohmann/issue2239
...
Make assert configurable via JSON_ASSERT
2020-07-09 15:13:12 +02:00
Niels Lohmann
e3e9ccfc02
🚑 fix regression from #2181
2020-07-08 14:02:28 +02:00
Niels Lohmann
98b1c6d302
🚩 use JSON_ASSERT(x) instead of assert(x)
2020-07-06 12:22:31 +02:00
Niels Lohmann
b04dc055b2
Merge pull request #2233 from nlohmann/issue2175
...
Add specialization of get_to
2020-07-06 07:58:52 +02:00
Matthew Bauer
e54f03f73b
Tag binary values in cbor if set
...
CBOR has tags, which work similarly to "subtype"s:
https://www.iana.org/assignments/cbor-tags/cbor-tags.xhtml
Unsure if this makes sense. Note that the subtype must just be one
byte wide.
2020-07-02 17:40:02 -04:00
Niels Lohmann
c7e079cc98
🚑 add specialization of get_to #2175
2020-06-30 14:26:52 +02:00
Niels Lohmann
ad6eadeb70
📝 refine documentation of error_handler parameter
2020-06-30 13:59:43 +02:00
Niels Lohmann
eb7376bb13
Merge pull request #2225 from nlohmann/issue2175
...
Simplify conversion from/to custom types
2020-06-29 14:41:09 +02:00
Niels Lohmann
fa9f4040df
🔥 remove unused typedefs #2221
2020-06-27 13:07:02 +02:00
Niels Lohmann
3948b5b091
Merge pull request #2212 from nlohmann/comments
...
Add option to ignore comments in parse/accept functions
2020-06-27 12:44:51 +02:00
Niels Lohmann
c5ee222982
Merge pull request #2211 from nlohmann/fix_warnings
...
Fix Clang-Tidy warnings
2020-06-27 12:34:18 +02:00
Niels Lohmann
635b9a0ae4
Merge pull request #2193 from dota17/issue#2059
...
Fix consistency in function `int_to_string()`
2020-06-24 11:46:48 +02:00
Niels Lohmann
8575fdf9ad
Merge pull request #2181 from dota17/issue#1275
...
Fix issue#1275
2020-06-23 09:23:03 +02:00
Niels Lohmann
4bfe4add20
Merge pull request #2203 from t-b/use-unsigned-indizies-for-array-index-in-json-pointer
...
Use unsigned indizies for array index in json pointer
2020-06-23 09:16:01 +02:00
chenguoping
0ecf297457
drop std::enable_if part
2020-06-23 09:14:55 +08: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
chenguoping
aeef50709e
to allow for ADL in int_to_string() function
2020-06-22 20:17:56 +08:00
Thomas Braun
ecbb2756fd
json_pointer::array_index: Use unsigned values for the array index when parsing
...
The current code uses std::stoi to convert the input string to an int
array_index. This limits the maximum addressable array size to ~2GB on
most platforms.
But all callers immediately convert the result of array_index to
BasicJsonType::size_type.
So let's parse it as unsigned long long, which allows us to have as
big arrays as available memory. And also makes the call sites nicer to
read.
One complication arises on platforms where size_type is smaller than
unsigned long long. We need to bail out on these if the parsed array
index does not fit into size_type.
2020-06-22 13:42:55 +02:00
Niels Lohmann
65e8ee985a
🔨 clean up
2020-06-22 08:59:03 +02:00
Niels Lohmann
29ad2178c6
Merge pull request #2176 from gracicot/cpp20-support-no-std-fct-templ-specialization
...
C++20 support by removing swap specialization
2020-06-21 20:39:58 +02:00
Niels Lohmann
e22ce45065
🚸 improve diagnostics
2020-06-21 13:28:00 +02:00