Commit graph

1321 commits

Author SHA1 Message Date
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
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
Niels Lohmann
139a0258cc
Merge branch 'develop' of https://github.com/nlohmann/json into comments 2020-06-21 12:40:21 +02:00
Niels Lohmann
0fe9f23254
add macros from #2175 2020-06-20 14:11:37 +02:00
Niels Lohmann
e4675887a6
Merge branch 'develop' of https://github.com/nlohmann/json into issue2189 2020-06-20 09:47:12 +02:00
Niels Lohmann
4fd0d02b6f
🚧 toward an ordered_json type 2020-06-19 15:27:05 +02:00
Niels Lohmann
0585ecc56b
add tests for comment skipping 2020-06-19 13:10:35 +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
Niels Lohmann
e86b3fae98
🔧 add label to tests that require a git checkout 2020-06-17 12:35:59 +02:00
Niels Lohmann
4d96f4cf6a
🔧 overwork CMake files 2020-06-16 20:23:01 +02:00
Niels Lohmann
b53c6e2f81
ignore comments 2020-06-16 12:28:59 +02:00
Niels Lohmann
5f862710fe
🔖 set version to 3.8.0 2020-06-14 17:16:45 +02:00
Tanuj Garg
c3c5c03ea3 added fuzzing with different values to default argument in to_ubjson method 2020-06-10 20:50:25 +05:30
Niels Lohmann
262d9cc67d
🚨 fix a maybe-uninitialized warning 2020-06-09 16:57:06 +02:00
Niels Lohmann
2cf16625ac
add test for character types 2020-06-07 22:49:39 +02:00
Niels Lohmann
d4bc0c39af
add test for character types 2020-06-07 22:47:54 +02:00
Guillaume Racicot
82fbbeeac5 Adapted unit tests to use ADL calls for swap like the new swappable concept 2020-06-06 12:28:52 -04:00
Niels Lohmann
bf2e714e96
🚨 fix warnings 2020-06-06 14:30:17 +02:00
Niels Lohmann
7444c7fa25
Merge pull request #2145 from FrancoisChabot/1813-user-input
Fix Issue#1813: user defined input adapters
2020-06-05 14:30:39 +02:00
Niels Lohmann
dd7e25927f
🚨 fix warning 2020-06-05 08:27:15 +02:00
Niels Lohmann
5fe6b83c26
Merge pull request #2158 from dota17/output_adapter
Fix PR#1006
2020-06-05 08:25:19 +02:00
Niels Lohmann
65c4b07451
🎨 replace alternative operators (and, not, or) 2020-06-03 21:22:07 +02:00
chenguoping
eca4b8785c fix test case in PR#1006 2020-06-02 15:44:26 +08:00
chenguoping
8cd39578e3 add test case 2020-06-01 11:34:03 +08:00
Francois Chabot
897061c434 amalgamate 2020-05-28 10:11:19 -04:00
Niels Lohmann
5ff4d7b7ff
Merge branch 'develop' of https://github.com/nlohmann/json into develop 2020-05-28 12:54:13 +02:00
Francois Chabot
d3caf93ab0
Merge branch 'develop' into 1813-user-input 2020-05-28 03:40:34 -04:00
Francois Chabot
3a91a05db6 added custom input to readme 2020-05-28 03:13:39 -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
325e8ab8ab
🔧 explicitly switch on tests in CI 2020-05-27 13:22:14 +02:00
Niels Lohmann
225fa58f16
🚧 add fix from #1715 2020-05-20 22:20:40 +02:00
Niels Lohmann
a82c80e9af
Merge pull request #2125 from nlohmann/binary_type
Clean up implementation of binary type
2020-05-20 18:58:29 +02:00
Niels Lohmann
4d39644bd0
💚 fix build 2020-05-19 13:45:52 +02:00
Niels Lohmann
21b1680ea1
🚚 rename binary_array() to binary() 2020-05-19 13:30:22 +02:00
Niels Lohmann
79347b484b
improve test coverage 2020-05-19 12:40:32 +02:00
Niels Lohmann
b7ff40029a
💥 change serialization of binary values 2020-05-18 13:53:20 +02:00
Niels Lohmann
9eb19bcc27
add more tests for binary type 2020-05-18 12:33:26 +02:00
gistrec
9e765f5aed Fixed std::numeric_limit::max() call 2020-05-18 10:25:55 +00: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
28e20bd9e4
🚨 fix warnings #2113 2020-05-16 14:26: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
chenguoping
ed9c205b5d add somes test cases 2020-05-15 21:48:29 +08:00
Niels Lohmann
daf2d296dd
♻️ move wrapped binary type to separate file 2020-05-15 14:12:32 +02:00
chenguoping
779a0ec7df update 2020-05-15 17:35:43 +08:00
chenguoping
47c6570470 Add some test cases about to_cbor() 2020-05-14 15:11:38 +08:00
Niels Lohmann
0857140839
Merge pull request #1950 from FrancoisChabot/issues/1457
templated input adapters
2020-05-14 07:52:02 +02:00
Niels Lohmann
d7b032f565
add tests to improve coverage 2020-05-13 21:28:43 +02:00
Niels Lohmann
a4266bbb7d
Merge branch 'develop' into issues/1457 2020-05-13 12:48:46 +02:00
Niels Lohmann
a414e35971
🚨 add newline to end of file 2020-05-13 12:35:11 +02:00
Niels Lohmann
6014419818
Merge branches 'develop' and 'issue2082' of https://github.com/nlohmann/json into issue2082 2020-05-12 12:28:34 +02:00
Niels Lohmann
76c01501f7
🔧 fix pedantic maintainer targets 2020-05-11 20:03:13 +02:00
Niels Lohmann
5c42847011
add tests for binary type 2020-05-10 13:23:18 +02:00
Niels Lohmann
fff46ea98c
add tests for binary type 2020-05-09 23:18:12 +02:00
Niels Lohmann
34430994bf
add tests for binary type 2020-05-09 14:16:57 +02:00
Niels Lohmann
3fa94f0755
add tests for binary type 2020-05-09 13:46:24 +02:00
Niels Lohmann
f0c6ab4d3b
🐛 fix bug in SAX callback parser 2020-05-08 14:21:11 +02:00
Niels Lohmann
5bfb27c865
🚨 fix some warnings 2020-05-08 12:32:28 +02:00
Niels Lohmann
cf4a6552f3
add tests for binary serialization 2020-05-06 22:24:48 +02:00
Niels Lohmann
3cd2a977ae
add test for get_ptr<binary_t*> 2020-05-06 22:13:55 +02:00
Niels Lohmann
1d6f7b0d4e
add tests for binary serialization 2020-05-06 22:13:31 +02:00
Niels Lohmann
ddff459fa3
add test for BSON binary subtype 2020-05-06 21:24:00 +02:00
Niels Lohmann
2b39efd545
add tests for binary type 2020-05-05 12:59:57 +02:00
Niels Lohmann
908941b87d
fix test cases 2020-05-05 07:47:20 +02:00
Niels Lohmann
2a34f4cd63
add tests for binary type 2020-05-04 22:07:50 +02:00
Niels Lohmann
a50a14088c
Merge pull request #2081 from nlohmann/external_test_data
Use external test data
2020-05-04 20:58:02 +02:00
Niels Lohmann
e7a88b2d7f
💚 fix AppVeyor and Travis builds 2020-05-03 19:33:01 +02:00
Niels Lohmann
24237af983
🎨 fix format 2020-05-03 13:40:23 +02:00
Niels Lohmann
2f0d37d7d2
🔥 remove fastcov 2020-05-02 23:48:11 +02:00
Niels Lohmann
929f5d398c
🔨 fix coverage tests 2020-05-02 23:24:21 +02:00
Niels Lohmann
752c62b4bd
🔨 remove double tests 2020-05-02 16:07:09 +02:00
Niels Lohmann
f0050c9ba0
Merge pull request #2019 from dota17/contains_v2
fix #1982:json_pointer.contains() exception is incorrectly raised
2020-05-02 11:04:57 +02:00
Niels Lohmann
bec554936c
🔨 fix paths 2020-05-02 10:56:01 +02:00
Niels Lohmann
cfb2f34ebb
🔨 fix benchmarks 2020-05-01 20:59:47 +02:00
Niels Lohmann
ec5cfdd307
🔨 properly find and use Git 2020-05-01 16:18:04 +02:00
Niels Lohmann
7ade3a0efb
remove dependency to FetchContent 2020-05-01 15:14:37 +02:00
Niels Lohmann
dbf1a1f413
♻️ download test data from external repository 2020-05-01 14:32:37 +02:00
Niels Lohmann
c9f404dc98
Merge pull request #2076 from rmisev/patch-1
Fix error message about invalid surrogate pairs
2020-05-01 12:47:39 +02:00
Niels Lohmann
b27d8a3253
Merge pull request #2074 from ArthurSonzogni/develop
Add CMake fetchcontent documentation and tests
2020-05-01 12:42:29 +02:00
Rimas Misevičius
6f1800889a Fix tests 2020-05-01 00:59:12 +03:00
Rimas Misevičius
4c053e3ec9 Fix tests 2020-05-01 00:48:24 +03:00
ArthurSonzogni
c331706644 Add CMake fetchcontent documentation and tests
Github issue:
https://github.com/nlohmann/json/issues/2073

nlohmann::json documents 2 way of depending on it using CMake
1) Copy-paste the project/source into your own project.
2) Install nlohman::json and then use find_package.

(1) pollutes your git repository, (2) requires everyone to install the
dependencies themselves.

Since 2018, CMake provide some kind of 'package manager' features using
[FetchContent](https://cmake.org/cmake/help/v3.17/module/FetchContent.html)
It gives the following:
~~~cmake
include(FetchContent)

FetchContent_Declare(json
  GIT_REPOSITORY https://github.com/nlohmann/json
  GIT_TAG v3.7.3)

FetchContent_GetProperties(json)
if(NOT json_POPULATED)
  FetchContent_Populate(json)
  add_subdirectory( ${json_SOURCE_DIR} ${json_BINARY_DIR} EXCLUDE_FROM_ALL)
endif()
~~~

Then declares the dependency in the target using it:
~~~cmake
target_link_library(my_project PRIVATE nlohmann_json::nlohmann_json
~~~

This patch updates the documentation and provides tests.
2020-04-29 18:28:06 +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
63afc8e3f8
Merge pull request #2043 from dota17/unit-constructor1
Add missing testcase about NaN in unit-constructor1.cpp
2020-04-21 07:35:44 +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
c0a39b22a6
🚨 fix compiler warning 2020-04-20 19:42:58 +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
721a1a0b5d
Merge pull request #2051 from nlohmann/clang10warnings
Fix Clang compiler warnings
2020-04-20 08:04:23 +02:00
chenguoping
c379d02b3e Add missing testcase about NaN in unit-constructor1.cpp 2020-04-20 10:25:44 +08: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
45d5b09425
⬆️ doctest 2.3.7 #2048 2020-04-19 12:33:42 +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