Commit graph

670 commits

Author SHA1 Message Date
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
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
gatopeich d08fca2bb9 Use const Key in ordered map
(forgotten in previous commit!)
2020-06-23 15:44:46 +01:00
gatopeich 5e7bdf1cab Roll-back to hard-coded object_t::value_type 2020-06-23 15:39:00 +01:00
gatopeich fb8c11f25c Re-implement ordered_map::erase,
so that it can handle pair<const Key,...>
2020-06-23 15:01:20 +01:00
gatopeich acd748e16f Use std::map default allocator as a placeholder
to extract the actual ObjectType::value_type
Still fails on older compilers (GCC <= 5.5)
2020-06-23 12:03:21 +01:00
gatopeich 49623a75ee Revert "Using ordered_json instead of fifo_map in test-regression"
This reverts commit 5fe3d3929a.
2020-06-23 11:30:52 +01: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
gatopeich 5fe3d3929a Using ordered_json instead of fifo_map in test-regression
This is more comprehensive and the "my_workaround_fifo_map" wrapper does not allow to infer value type as required in this branch.

This reverts commit 064a9c9212.
2020-06-22 19:10:35 +01:00
gatopeich 064a9c9212 Fix regression test 2020-06-22 18:59:19 +01:00
gatopeich ddf0a45abb Use AllocatorType<ObjectType::value_type>,
instead of hard-coding it for std::map's value_type
2020-06-22 18:35:46 +01: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
gatopeich 15337b2cc3 Ignore allocator hardcoded to match std::map 2020-06-22 00:03:48 +01:00
gatopeich 27aaf6f845 Clean-up ordered_map declarations 2020-06-21 22:28:03 +01: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
Thomas Braun f0e73163f2 json_pointer.hpp: Mention more exception in documentation
Forgotten in dcd3a6c6 (move the catch of std::invalid_argument into
array_index(), 2020-03-23).
2020-06-20 15:27:22 +02:00
Niels Lohmann 0fe9f23254
add macros from #2175 2020-06-20 14:11:37 +02:00
Niels Lohmann 6ee9e5f402
⚗️ remove const from value type 2020-06-20 13:23:44 +02:00
Niels Lohmann 4fd0d02b6f
🚧 toward an ordered_json type 2020-06-19 15:27:05 +02:00
Niels Lohmann b64002bbca
♻️ extract common code to function 2020-06-19 13:24:08 +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 e9bfcf7255
improve comment parsing 2020-06-17 14:59:47 +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 b53c6e2f81
ignore comments 2020-06-16 12:28:59 +02:00
chenguoping 691fb0c57a fix issue#2059 2020-06-16 15:35:26 +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 ae04426c85
🏁 fix for MSVC (see https://github.com/nlohmann/json/pull/2178#issuecomment-640622532) 2020-06-08 20:07:15 +02:00
Niels Lohmann 6d73126ea9
🚨 fix warnings 2020-06-07 22:47:25 +02:00
Niels Lohmann 8c1d26e186
📝 add documentation and example for accept function 2020-06-07 20:59:43 +02:00
Niels Lohmann 907803189b
🏁 fix MSVC 2015 compilation 2020-06-07 12:51:33 +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 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 0498202a03
🎨 replace alternative operators (and, not, or) 2020-06-03 14:20:36 +02:00
chenguoping 4350c5ed97 fix bug in issue#1972 2020-05-30 17:15:56 +08:00
Francois Chabot b715a70673 changed macro order to satisfy clang 2020-05-28 12:26:29 -04:00
Francois Chabot 7646253940 fix inconsistent fwd declaration 2020-05-28 12:20:02 -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 dcf6175978 use the correct convention for boolean operators 2020-05-28 09:29:38 -04:00
Niels Lohmann 61832afe15
Merge pull request #2144 from XyFreak/gcc10_type_limits
Fix issue#1939: Cast character to unsigned for comparison
2020-05-28 12:59:57 +02: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
Niels Lohmann 9ec0e4c25b
Merge pull request #2140 from nlohmann/issue1715
Respect allow_exceptions=false for binary formats
2020-05-28 07:52:26 +02:00
Francois Chabot 377995f495 forcefully exclude arrays from being interpreted as pointers 2020-05-27 18:21:38 -04:00
Francois Chabot b9416a26aa correct ADL lookup of arrays on Mac and Windows 2020-05-27 13:21:23 -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
Tobias Kux 23051df2c7 Cast character to unsigned for comparison 2020-05-27 13:15:31 +02: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 c92a696852
📝 update documentation 2020-05-22 18:21:37 +02:00
Niels Lohmann 88292d9499
🚨 remove redundant assertions 2020-05-22 14:19:07 +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 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
gistrec 454480f581 fixed a compilation error in MSVC 2020-05-18 14:57:04 +07: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 3799b3f8dd
Merge pull request #2116 from nlohmann/issue2113
Fix warnings from Clang 10 and GCC 9
2020-05-17 12:19:06 +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 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
Niels Lohmann 3ed059f6ff
revert faulty changes 2020-05-16 12:56:18 +02:00
Niels Lohmann bc1886fb60
♻️ refine interface of wrapped_binary_t 2020-05-15 23:21:49 +02:00
Niels Lohmann a452e8a0a1
💚 fix GCC 4.9 compilation 2020-05-15 22:38:18 +02:00
chenguoping 5dd27f1a9f compare against max float and min float before converting 2020-05-15 21:47:59 +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
Niels Lohmann bcf4f3ce9a
📝 add warning for items() on temporary objects #2040 2020-05-14 19:06:48 +02:00
chenguoping e175150f5b fix UBSAN 2020-05-14 20:54:47 +08:00
chenguoping 44fe284f9d Enhace to_cbor() to support +/-Infinity, NaN, and single-precision float 2020-05-14 15:10:44 +08:00
Niels Lohmann 0857140839
Merge pull request #1950 from FrancoisChabot/issues/1457
templated input adapters
2020-05-14 07:52:02 +02:00
chenguoping cdf5327ace Fix issue#2086 2020-05-14 12:44:30 +08: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 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 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