Commit graph

767 commits

Author SHA1 Message Date
Niels Lohmann 33379684b4
improve coverage 2021-01-17 22:52:40 +01:00
Niels Lohmann e23af7434d
🚨 fix warnings 2021-01-17 13:32:26 +01:00
Niels Lohmann e9d641130d
🐛 proper JSON Pointer escape in diagnostic messages 2021-01-16 15:33:05 +01:00
Niels Lohmann 29f7abf57d
🚨 fix format-truncation warning #2572 2021-01-15 17:01:47 +01:00
Niels Lohmann 7633a21e6c
💚 fix build 2021-01-15 16:58:05 +01:00
Niels Lohmann b0d8628c49
👌 address comments 2021-01-15 16:54:00 +01:00
Niels Lohmann f8037660d0
♻️ add iterator set_parent function 2021-01-14 22:43:52 +01:00
Niels Lohmann 0d1fb383b7
👌 address comment 2021-01-14 22:05:08 +01:00
Niels Lohmann a77621687a
📝 fix comment 2021-01-14 21:56:19 +01:00
Niels Lohmann b9d3aa4067
♻️ split set_parent function 2021-01-14 21:55:49 +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 6ef1614fa9 Refactor json::get() to use priority_tag. 2021-01-12 18:28:47 +01:00
Anthony VH 6278f31d23 Simplify from_json overloads. 2021-01-12 18:28:29 +01:00
Anthony VH 6ebf274ca0 Add internal version of is_default_constructible to work around LWG 2367. 2021-01-12 18:28:00 +01:00
Anthony VH 672e8bfc1d Fixed std::pair trying to deserialize via array functions. 2021-01-11 18:16:15 +01:00
Niels Lohmann ff57bdcc8b
🐛 fix invariants 2021-01-10 22:40:50 +01:00
Anthony VH 23f462b598 Reduced code duplication, renamed tag to identity_tag. 2021-01-10 19:23:32 +01:00
Niels Lohmann 9d0150c234
♻️ simplify code 2021-01-10 15:04:14 +01:00
Niels Lohmann 1d6ba22f15
♻️ simplify code 2021-01-10 14:10:59 +01:00
Niels Lohmann a83404525e
🚨 fix warnings 2021-01-10 13:39:36 +01:00
Niels Lohmann e160749003
♻️ move diagnostic code in header 2021-01-09 19:21:18 +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 43cd5c8a4d
👌 fix constructor 2021-01-08 18:00:23 +01:00
Niels Lohmann d4a91b7445
👌 clean operator[] 2021-01-08 11:29:28 +01:00
Niels Lohmann e4af1ddb18
👌 fix operator[] 2021-01-08 11:21:41 +01:00
Niels Lohmann 04a0a07159
👌 fix move constructor and move assignment 2021-01-08 11:21:03 +01:00
Niels Lohmann 0617bd248d
👌 fix operator[] 2021-01-08 11:10:24 +01:00
Niels Lohmann ddc3bb1992
👌 remove unnecessary assignment from destructor 2021-01-08 11:09:58 +01:00
Niels Lohmann 7cdf34b21e
Merge branch 'develop' of https://github.com/nlohmann/json into diagnostics 2021-01-08 10:20:34 +01:00
Niels Lohmann 085d497bf7
📄 update copyright year 2021-01-03 20:28:06 +01:00
Niels Lohmann 294fa343d5
🐛 fix bug in move constructor 2021-01-03 20:06:32 +01:00
Niels Lohmann ec0b1798bc
🚧 implement more parent relations 2021-01-02 21:36:11 +01:00
Niels Lohmann 7323a8eb4e
🚧 add tests 2021-01-02 16:13:04 +01:00
Niels Lohmann c6e7fa21ed
🚧 fix preprocessor check 2021-01-02 13:58:05 +01:00
Niels Lohmann 7b047861b0
🚧 add diagnostics to exceptions 2021-01-02 13:44:41 +01:00
Niels Lohmann a4d491e22d
🚧 better diagnostics 2021-01-01 17:23:10 +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 5026acd70c
Merge pull request #2444 from linev/fix_gcc48_warn
Change argument name "subtype" in byte_container_with_subtype
2020-12-11 13:46:41 +01:00
Sergey Linev 30dd0c0f09 Change underscore placement 2020-12-11 13:43:17 +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
Sergey Linev 71cb7d12da Change argument name "subtype" in byte_container_with_subtype
Fix warnings on older g++ 4.8

declaration of ‘subtype’ shadows a member of 'this'
2020-10-23 13:52:24 +02: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 42f8708940
Merge branch 'develop' of https://github.com/nlohmann/json into issue2286
 Conflicts:
	single_include/nlohmann/json.hpp
2020-07-25 21:44:58 +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
Niels Lohmann 33662417c1
improve coverage 2020-07-24 09:32:03 +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 a33c3fdf25
Merge branch 'develop' of https://github.com/nlohmann/json into issue2286
 Conflicts:
	single_include/nlohmann/json.hpp
2020-07-23 12:30:07 +02:00
Niels Lohmann 88122467bd
♻️ pull code into function 2020-07-23 12:16:18 +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 3249a4d821
Merge branch 'develop' of https://github.com/nlohmann/json into issue2286
 Conflicts:
	single_include/nlohmann/json.hpp
2020-07-21 22:01:32 +02:00
Niels Lohmann b1903fff1f
💚 fix build 2020-07-21 09:09:30 +02:00
Niels Lohmann 1339d6b683
🐛 add missing EOF check 2020-07-20 22:40:28 +02:00
Niels Lohmann a9117828e1
🚨 fix warnings 2020-07-20 22:38:00 +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 4a5277d09d
📝 update documentation 2020-07-20 14:11:43 +02:00
Niels Lohmann 8aa6da61dc
🚧 support for UBJSON high-precision numbers #2286 2020-07-20 13:57:19 +02:00
Niels Lohmann 7360e09830
🚧 support for UBJSON high-precision numbers #2286 2020-07-20 13:12:20 +02:00
Niels Lohmann 7cf2fe149c
🚧 support for UBJSON high-precision numbers #2286 2020-07-20 09:42:37 +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 8a045713ed [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
jprochazk ab25de05f7 fix: return -> result.push_back 2020-07-19 10:51:13 +02:00
jprochazk a3a9d5665e add break to binary_reader::get_binary and get_string 2020-07-19 09:35:49 +02:00
T0b1-iOS 281349d0d6
add inline specifier for detail::combine 2020-07-18 06:28:11 +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 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 889f269a6c
♻️ replace further alternative operators 2020-07-11 13:51:25 +02:00
Niels Lohmann 609a0046c4
♻️ replace further alternative operators 2020-07-11 13:39:14 +02:00
Niels Lohmann 3a80823ff8
🔀 merge develop branch and resolve conflicts 2020-07-11 13:21:13 +02:00
Niels Lohmann 9c21285133
Merge branch 'develop' of https://github.com/nlohmann/json into issue2179
 Conflicts:
	single_include/nlohmann/json.hpp
2020-07-11 13:20:16 +02:00
gatopeich f9a1fec272
Remove redundant comment 2020-07-11 00:34:02 +01:00
gatopeich f62b4626be Removing comment about AllocatorType per review request 2020-07-09 21:12:14 +01: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
Agustín F. Pozuelo 25f5d75e6e Fix compilation for xcode 9.x 2020-07-03 01:44:18 +01:00
Agustín F. Pozuelo 93770467a1 Precisely 4 template arguments for the sake of clang 3.6 (?) 2020-07-03 01:28:54 +01:00
Agustín F. Pozuelo 0fc261f0f2 Make ordered_map compatible with GCC 5.5 2020-07-03 00:33:31 +01: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
gatopeich 49f26a0250 Have 4 template parameters for ordered_map 2020-06-29 17:32:55 +01: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 d7a2956b24
🔀 merge from develop 2020-06-27 13:16:20 +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 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