Commit Graph

543 Commits

Author SHA1 Message Date
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
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
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
98b1c6d302
🚩 use JSON_ASSERT(x) instead of assert(x) 2020-07-06 12:22:31 +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
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
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
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
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
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
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
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
7646253940 fix inconsistent fwd declaration 2020-05-28 12:20:02 -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
76b49f9ee6 misc formatting fixes 2020-05-28 02:29:53 -04: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
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
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
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
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
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
f0c6ab4d3b
🐛 fix bug in SAX callback parser 2020-05-08 14:21:11 +02:00
Niels Lohmann
8c2b26de4a
⚗️ do not include <ciso646> with C++20 #2089 2020-05-07 10:17:32 +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
c10bc7efdd
🔥 remove pretty-print code for binary values 2020-05-06 22:13:08 +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
Rimas Misevičius
6815968a42 Fix error message about invalid surrogate pairs
I tested following strings with invalid surrogate pair and unpaired surrogate in files:

1. `"a\uD800\uD800x"`
2. `"a\uD800x"`

The error messge was: "... invalid string: surrogate U+DC00..U+DFFF must be followed by U+DC00..U+DFFF; ..."

I think it must be: "... invalid string: surrogate U+D800..U+DBFF must be followed by U+DC00..U+DFFF; ..."
2020-05-01 00:23:04 +03:00
Niels Lohmann
2e5727d778
🐛 properly pass serialize_binary to dump function #2067 2020-04-27 15:10:23 +02:00
chenguoping
8bfc692602 update condition 2020-04-20 16:00:55 +08: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
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
3bc9e053c9
Merge pull request #1969 from dota17/dota17-warning
fix warnings in serializer.hpp for VS2019
2020-04-17 10:10:38 +02:00
Niels Lohmann
69ac336042
Merge pull request #1967 from dota17/dota17-disable
Fix C26451 warnnings in to_chars.hpp
2020-04-17 10:08:21 +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
chenguoping
f5a487d1b4 fix issue1982: contains() exceptions are incorrectly raised 2020-04-13 19:41:13 +08:00
Niels Lohmann
b7be613b6e
Merge pull request #1990 from dota17/json_pointer
catch exceptions for json_pointer : ..../+99
2020-04-13 13:29:33 +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
Artöm Bakri Al-Sarmini
70be9751cd typo fix 2020-04-12 23:42:26 +03:00
Artöm Bakri Al-Sarmini
ec955f08b4 Templatize basic_json ctor from json_ref 2020-04-12 22:32:39 +03:00
Niels Lohmann
9154e991b8
Merge branch 'develop' into feature/issue1913 2020-04-11 11:33:46 +02:00
chenguoping
34cf7b7a48 just restart ci 2020-04-07 10:00:21 +08:00
chenguoping
e07686f0c7 update array_index() and add testcases 2020-03-25 15:57:20 +08:00
chenguoping
dcd3a6c62b move the catch of std::invalid_argument into array_index() 2020-03-23 17:24:47 +08:00
chenguoping
59cb4c93be fix C26451 warnning in serializer.hpp for VS2019 2020-03-23 16:08:47 +08:00
chenguoping
0a8216890d fix C26451 warnnings in to_chars.hpp 2020-03-23 15:27:35 +08:00
Sergey Linev
78e911b8c3
Use array_idx as methods args
Avoid mix-up with array_index member

Co-Authored-By: Niels Lohmann <niels.lohmann@gmail.com>
2020-03-19 11:52:40 +01:00
chenguoping
bfc003cadf catch exceptions for json_point : /xx/+99 2020-03-17 20:49:28 +08:00
Sergey Linev
00049c20d0 Rename argument array_index to array_indx in json_pointer methods
Fixes gcc48 warning:

declaration of ‘array_index’ shadows a member of 'this' [-Wshadow]
2020-03-11 07:41:53 +01:00
Francois Chabot
41b0704ce1 removed move assignments from input adapters 2020-03-02 23:50:01 -05:00
Francois Chabot
c7282d5b1e simpler endian detection for older gcc versions 2020-02-20 10:19:29 -05:00
Francois Chabot
770ae6e9da accomodate older gcc 2020-02-19 16:54:09 -05:00
Francois Chabot
de35fad88e fixed missing return arg of operator=() 2020-02-19 15:23:49 -05:00
Francois Chabot
2e2cf02cfd duck-typed object input adapters 2020-02-19 14:59:31 -05:00
Francois Chabot
617b3cf42e templated input adapters 2020-02-19 10:32:49 -05:00
Niels Lohmann
61b46a56fb
🏗️ replace is_pod by is_trivial 2020-02-15 10:12:27 +01:00
Antoine Cœur
8d92ca865f Some typos 2020-02-02 17:29:37 +08:00
Niels Lohmann
7acf6218b6
📝 fix typo #1903 2020-01-15 17:40:03 +01:00