Commit graph

308 commits

Author SHA1 Message Date
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 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
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
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 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 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 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
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 139a0258cc
Merge branch 'develop' of https://github.com/nlohmann/json into comments 2020-06-21 12:40:21 +02:00
Niels Lohmann 4fd0d02b6f
🚧 toward an ordered_json type 2020-06-19 15:27:05 +02:00
Niels Lohmann 74520d8bb0
🚧 extend API 2020-06-17 22:03:14 +02:00
Niels Lohmann 88a37010d6
🐛 serialize 32-bit floating-point numbers as float 32 in MessagePack (0xCA) #2196 2020-06-17 21:14:23 +02:00
chenguoping 4a6c68c7eb drop new blank line 2020-06-17 20:44:31 +08:00
chenguoping 8aaa4013a3 remove overload function, change default_value to rvalue 2020-06-17 15:05:28 +08:00
Niels Lohmann 5f862710fe
🔖 set version to 3.8.0 2020-06-14 17:16:45 +02:00
chenguoping 71830be06d fix issue#1275 2020-06-10 19:27:28 +08:00
Niels Lohmann 8c1d26e186
📝 add documentation and example for accept function 2020-06-07 20:59:43 +02:00
Guillaume Racicot 225c8f150a Disable std::swap specialization in C++20 and added a friend swap function 2020-06-06 11:36:39 -04:00
Niels Lohmann bf2e714e96
🚨 fix warnings 2020-06-06 14:30:17 +02:00
Niels Lohmann 0498202a03
🎨 replace alternative operators (and, not, or) 2020-06-03 14:20:36 +02:00
Francois Chabot b715a70673 changed macro order to satisfy clang 2020-05-28 12:26:29 -04:00
Francois Chabot ce3143a038 use correct deprecation macro 2020-05-28 12:16:10 -04:00
Francois Chabot d575534471 brought back the from_*(ptr, len) syntax with a deprecation warning 2020-05-28 12:13:43 -04:00
Francois Chabot a4f1cf4d00 better parse documentation 2020-05-28 02:50:58 -04:00
Francois Chabot 76b49f9ee6 misc formatting fixes 2020-05-28 02:29:53 -04:00
Francois Chabot f1969e60a3 reamalgamate 2020-05-27 12:56:26 -04:00
Francois Chabot 5684d9a498 unified input API 2020-05-27 12:40:04 -04:00
Niels Lohmann d70d06ae41
Merge pull request #2137 from dota17/MSC_VER
Fix issue 2112
2020-05-27 08:49:19 +02:00
Niels Lohmann 3c60a66c4c
Merge pull request #2104 from dota17/issue#2086
Fix issue#2086: disallow json::value_t type parameter in value()
2020-05-26 13:15:06 +02:00
chenguoping eb50fbf926 fix issue 2112 2020-05-26 16:43:16 +08:00
Niels Lohmann 88292d9499
🚨 remove redundant assertions 2020-05-22 14:19:07 +02:00
Niels Lohmann 21b1680ea1
🚚 rename binary_array() to binary() 2020-05-19 13:30:22 +02:00
Niels Lohmann 952a87a4f4
🚚 move byte container outside detail namespace 2020-05-19 13:08:18 +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 dead99eb0e
🔨 overwork binary subtypes 2020-05-17 13:51:59 +02:00
Niels Lohmann ab6e76dd05
Merge branches 'binary_type' and 'develop' of https://github.com/nlohmann/json into binary_type 2020-05-17 12:27:58 +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 c0cf67ead3
Merge branch 'develop' of https://github.com/nlohmann/json into binary_type 2020-05-16 12:58:13 +02:00
Niels Lohmann f40a9f876a
Merge pull request #2044 from dota17/issue#1719
Fix issue#1719
2020-05-16 12:57:00 +02:00
Niels Lohmann bc1886fb60
♻️ refine interface of wrapped_binary_t 2020-05-15 23:21:49 +02:00
Niels Lohmann daf2d296dd
♻️ move wrapped binary type to separate file 2020-05-15 14:12:32 +02:00
Niels Lohmann bcf4f3ce9a
📝 add warning for items() on temporary objects #2040 2020-05-14 19:06:48 +02:00
chenguoping 44fe284f9d Enhace to_cbor() to support +/-Infinity, NaN, and single-precision float 2020-05-14 15:10:44 +08:00
chenguoping cdf5327ace Fix issue#2086 2020-05-14 12:44:30 +08:00
Niels Lohmann a4266bbb7d
Merge branch 'develop' into issues/1457 2020-05-13 12:48:46 +02:00
Niels Lohmann b036ace235
🐛 fix bug in binary constructor 2020-05-09 14:16:49 +02:00
Niels Lohmann f0c6ab4d3b
🐛 fix bug in SAX callback parser 2020-05-08 14:21:11 +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 421a084396
add convenience function to create binary value with given subtype 2020-05-06 21:23:45 +02:00
Niels Lohmann 6dee8866a8
🐛 fix binary comparison 2020-05-05 12:40:04 +02:00
Niels Lohmann 48aa441661
add swap function for binary type 2020-05-04 22:07:36 +02:00
Niels Lohmann db013c9428
Merge pull request #2071 from nlohmann/issue2067
Properly pass serialize_binary to dump function
2020-04-29 19:39:58 +02:00
Niels Lohmann 2e5727d778
🐛 properly pass serialize_binary to dump function #2067 2020-04-27 15:10:23 +02:00
Niels Lohmann 9e0180b698
🐛 fix returning reference to local temporary object #2064 2020-04-27 14:43:49 +02:00
Niels Lohmann a29e3b1318
Merge pull request #2054 from nlohmann/feature/issue1983
Fix bug in diff function
2020-04-20 19:44:35 +02:00
Niels Lohmann e8356928bd
🚨 fix compiler warnings #2052 2020-04-19 13:25:02 +02:00
Niels Lohmann f2b43a36b2
Merge pull request #1662 from OmnipotentEntity/develop
Add binary type support to all binary file formats, as well as an internally represented binary type
2020-04-16 11:14:32 +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
Niels Lohmann dd04a32918
🐛 fix bug in diff function #1983 2020-04-13 14:35:36 +02:00
Niels Lohmann 84f19d6333
Merge pull request #2034 from ArtemSarmini/gh-1920-gcc-10-incomplete-types
Templatize basic_json constructor from json_ref
2020-04-13 13:19:28 +02:00
Niels Lohmann b0a3883081
🎨 fix format 2020-04-13 13:11:26 +02:00
Artöm Bakri Al-Sarmini ec955f08b4 Templatize basic_json ctor from json_ref 2020-04-12 22:32:39 +03:00
Niels Lohmann 4396a68d2d
Merge pull request #1984 from dota17/document-fix
Modify the document about operator==
2020-04-11 18:55:18 +02:00
Niels Lohmann ea0a7c7b4f
Merge pull request #2025 from ArtemSarmini/issue-1971-basic_json-push_back
Fixes #1971 (memory leak in basic_json::push_back)
2020-04-10 13:19:14 +02:00
Artöm Bakri Al-Sarmini e4d8dc02e8 Fixes #1971 (memory leak in basic_json::push_back) 2020-04-02 15:20:25 +03:00
chenguoping 2e7d340dad docs:modify the document about operator== 2020-03-25 10:18:04 +08:00
garethsb-sony 7fe16f9400 PR for #2006 to test in AppVeyor. 2020-03-24 12:53:59 +00:00
Francois Chabot 2e2cf02cfd duck-typed object input adapters 2020-02-19 14:59:31 -05:00
Francois Chabot a0c4fc945a fixed bad friend class declaration 2020-02-19 11:23:02 -05:00
Francois Chabot 617b3cf42e templated input adapters 2020-02-19 10:32:49 -05:00
Antoine Cœur 8d92ca865f Some typos 2020-02-02 17:29:37 +08:00
Niels Lohmann c5eafe74e8
🔖 set version to 3.7.3 2019-11-17 12:09:12 +01:00
Isaac Nickaein efa13c663d Reserve stack only for top-level items 2019-11-13 15:23:08 +03:30
Isaac Nickaein 948f98cf4a Cleanups
Make our intent more clear in destruction
2019-11-12 22:24:11 +03:30
Isaac Nickaein 0f3ec003bb Remove harmful vector::reserve during destruction (#1837) 2019-11-12 22:22:55 +03:30
Niels Lohmann be61ad1470
🎨 fix inconsistent operator style 2019-11-11 21:37:32 +01:00
Niels Lohmann 56109eacd7
🔖 set version to 3.7.2 2019-11-10 21:23:39 +01:00
Isaac Nickaein eec1974218 Merge remote-tracking branch 'nlohmann/develop' into iterate-on-destruction 2019-11-09 14:50:48 +03:30
Niels Lohmann aacdc6bbe3
🔖 set version to 3.7.1 2019-11-06 18:37:26 +01:00
Anthony Van Herrewege 27d0dfc17a Fix #1647: non-member operator== breaks enum (de)serialization. 2019-10-30 14:54:52 +01:00
Florian Pigorsch b93d414a35 Fix some spelling errors - mostly in comments & documentation.
I did not touch the Changelog file and any third party stuff.

additonal -> additional (1)
apppend -> append (2)
constuctor -> constructor (2)
contect -> context (2)
dobulequote -> doublequote (1)
elemnts -> elements (1)
exakt -> exact (2)
exluded -> exclude (1)
explicitely -> explicitly (2)
narcissic -> narcissistic (1)
ocurred -> occurred (1)
occuring -> occurring (2)
preceeds -> preceded (1)
ot -> to (2)
wehther -> whether (2)
2019-10-19 11:59:51 +02:00
Miguel Sacristan e26a2904fc Fix and add test's for SFINAE problem 2019-09-10 21:36:23 +02:00
Niels Lohmann 48e1fe03b5
🔖 set version to 3.7.0 2019-07-28 20:20:41 +02:00
Niels Lohmann a501365ea2
Merge branch 'feature/hedley' into develop 2019-07-14 20:58:08 +02:00
Niels Lohmann 104c5c1996
Merge branch 'feature/json_pointer_contains' into develop 2019-07-09 08:08:56 +02:00
Niels Lohmann 7a23aa1c0d
Merge branch 'feature/emplace_back' into develop 2019-07-09 08:06:27 +02:00
Niels Lohmann 9289a23a76
Merge pull request #1643 from kevinlul/develop
Fix json.hpp compilation issue with other typedefs with same name (Issue #1642)
2019-07-01 22:57:04 +02:00
Niels Lohmann 90798caa62
🚚 rename Hedley macros 2019-07-01 22:37:30 +02:00
Niels Lohmann 897362191d
🔨 add NLOHMANN_JSON prefix and undef macros 2019-07-01 22:24:39 +02:00
Niels Lohmann 1720bfedd1
⚗️ add Hedley annotations 2019-06-30 22:14:02 +02:00
Niels Lohmann 1be63431f3
make emplace_back return a reference #1609 2019-06-30 12:19:41 +02:00
Niels Lohmann 258fa798f1
add contains function for JSON pointers 2019-06-30 10:03:08 +02:00
Niels Lohmann 3b82a350ed
📝 mention 302 exception in value() documentation #1601 2019-06-22 09:44:12 +02:00
kevinlul f4fca2d59a Fix #1642
While in our case, only the string case was affected, to be safe and allow the library to work with other unforeseen cases, all of the cases have been wrapped with parentheses.

Thank you @DyXel and @edo9300
2019-06-16 18:22:40 -04:00
Macr0Nerd aa4c45ee4d Added to_string (with ugly macro) and tests 2019-04-26 18:10:45 -05:00
Théo DELRIEU e6e6805c6c
add built-in array support in get_to 2019-04-01 17:47:45 +02:00
Niels Lohmann efa1b9a7bb
🔖 set version to 3.6.1 2019-03-20 20:50:05 +01:00
Niels Lohmann b33093d610
🐛 fixed regression #1530 2019-03-20 14:40:23 +01:00
Niels Lohmann c790b9f8c0
🐛 fixed regression #1530 2019-03-20 12:41:08 +01:00
Niels Lohmann b37392b7ac
🔖 set version to 3.6.0 2019-03-20 00:19:07 +01:00
Niels Lohmann 18cc7ddd62
📝 completed documentation index page 2019-03-19 16:03:02 +01:00
Niels Lohmann e07e8e7912
📝 updated documentation 2019-03-19 15:40:23 +01:00
Niels Lohmann b224c52376
🎨 cleanup 2019-03-19 09:17:14 +01:00
Niels Lohmann 8d3f4f21bc
🔨 clean up 2019-03-18 13:53:48 +01:00
Niels Lohmann 22c733e6fe
📝 added documentation 2019-03-17 22:25:18 +01:00
Niels Lohmann b8451c236f
🚨 fixed warnings 2019-03-17 12:01:49 +01:00
Niels Lohmann 34f8b4f711
🚨 fixed more warnings 2019-03-17 00:27:44 +01:00
Niels Lohmann 27011e3718
🚨 fixed warnings 2019-03-15 14:55:13 +01:00
Niels Lohmann c983b67112
Merge pull request #1469 from garethsb-sony/json_pointer-append
Add operator/= and operator/ to construct a JSON pointer by appending two JSON pointers
2019-03-11 22:47:08 +01:00
lieff 7b31e56fbf fix GCC 7.1.1 - 7.2.1 on CentOS
closes https://github.com/nlohmann/json/issues/670
2019-02-25 16:38:22 +03:00
garethsb-sony 164e0e54d9 Rename private json_pointer::is_root as public json_pointer::empty for consistency with std::filesystem::path 2019-02-25 09:26:07 +00:00
Niels Lohmann e326df211b
Merge pull request #1474 from nickaein/develop
Implement contains() member function
2019-02-13 13:05:21 +01:00
Isaac Nickaein 6a5db00951 Implement contains() to check existence of a key 2019-02-13 13:21:54 +03:30
Isaac Nickaein fb5ceb26ac Fix documentation
Remove two instance of duplicate paragraphs.
2019-02-11 17:00:48 +03:30
Isaac Nickaein 372c4d2125
Merge branch 'develop' into iterate-on-destruction 2019-01-28 02:41:22 +03:30
Niels Lohmann d359fd3a8d
🚧 trying nodiscard attribute #1433 2019-01-19 17:32:23 +01:00
Isaac Nickaein f0883dda8f During destruction, flatten children of objects to avoid recursion 2019-01-15 20:29:51 +03:30
Niels Lohmann ad01736d55
💡 improved documentation for parsing without exceptions #1405
Closes #1405
2019-01-13 11:46:05 +01:00
Niels Lohmann 78348afeb6
🔖 set version to 3.5.0 2018-12-21 23:52:29 +01:00
Niels Lohmann 1107f8cd82
📝 updated documentation for items() function 2018-12-21 22:51:12 +01:00
Niels Lohmann 4f270e38cc
Merge pull request #1342 from davedissian/bugfix/sfinae-iterator-traits
Add a SFINAE friendly iterator_traits and use that instead.
2018-12-19 08:24:18 +01:00
Axel Huebl 97b81da840
merge_patch: rename parameter
Avoid shadowing a member of `this` by choosing the same name as
parameter (`-Wshadow`). Instead, make name of parameter more
expressive.
2018-11-08 10:31:47 +01:00
David Avedissian f665a92330 Implement SFINAE friendly iterator_traits and use that instead. 2018-11-07 18:39:25 +00:00
Niels Lohmann 7b2f8cce03
🔖 set version to 3.4.0 2018-10-30 21:30:20 +01:00
Niels Lohmann 86b5ce953a
📝 added examples for BSON functions 2018-10-28 15:09:26 +01:00
Niels Lohmann d2e4f0b0d9
✏️ fixed some typos 2018-10-28 14:20:20 +01:00
Niels Lohmann 24946f67f1
🚨 fixed some more linter warnings 2018-10-28 09:15:41 +01:00
Niels Lohmann bba159121f
Merge branch 'feature/bson' of https://github.com/julian-becker/json into julian-becker-feature/bson 2018-10-24 15:03:15 +02:00
Niels Lohmann c5821d91e5
🚧 overworked error handlers #1198 2018-10-21 11:49:37 +02:00
Julian Becker 2a63869159 Merge branch 'develop' of https://github.com/nlohmann/json into feature/bson
Conflicts:
	include/nlohmann/detail/input/binary_reader.hpp
	single_include/nlohmann/json.hpp
	src/unit-bson.cpp
2018-10-17 20:26:00 +02:00
Julian Becker 978c3c4116 BSON: throw json.exception.out_of_range.409 in case a key to be serialized to BSON contains a U+0000 2018-10-16 20:42:00 +02:00
Julian Becker daa3ca8a2e BSON: Adjusted documentation of binary_writer::to_bson() 2018-10-16 19:29:42 +02:00
Niels Lohmann e426219256
Merge pull request #1282 from nlohmann/feature/lines_columns
Improve diagnostic messages
2018-10-08 22:17:33 +02:00
Niels Lohmann f8158997b5
📝 fixed documentation 2018-10-07 21:30:58 +02:00
Niels Lohmann 3abb788139
🚨 fixed some more clang-tidy warnings 2018-10-07 19:07:58 +02:00
Niels Lohmann 858e75c4df
🚨 fixed some clang-tidy warnings 2018-10-07 18:39:18 +02:00
Julian Becker 062aeaf7b6 BSON: Reworked the binary_writer such that it precomputes the size of the BSON-output.
This way, the output_adapter can work on simple output iterators and no longer requires random access iterators.
2018-10-07 18:02:51 +02:00
Julian Becker 81f4b34e06 BSON: Improved documentation and error handling/reporting 2018-10-07 09:57:55 +02:00
Niels Lohmann b968faa882
🔖 set version to 3.3.0 2018-10-05 10:59:33 +02:00
Niels Lohmann 1fae82b7a7
Merge branch 'develop' into fix/1237 2018-09-29 14:50:36 +02:00
Théo DELRIEU 521fe49fec
Add basic_json::get_to function.
Takes an lvalue reference, and returns the same reference.

This allows non-default constructible types to be converted without
specializing adl_serializer.
This overload does not require CopyConstructible either.

Implements #1227
2018-09-28 11:25:23 +02:00