Niels Lohmann
bc1886fb60
♻️ refine interface of wrapped_binary_t
2020-05-15 23:21:49 +02:00
chenguoping
5dd27f1a9f
compare against max float and min float before converting
2020-05-15 21:47:59 +08: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
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
2e5727d778
🐛 properly pass serialize_binary to dump function #2067
2020-04-27 15:10:23 +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
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
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
59cb4c93be
fix C26451 warnning in serializer.hpp for VS2019
2020-03-23 16:08:47 +08: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
2e2cf02cfd
duck-typed object input adapters
2020-02-19 14:59:31 -05:00
Niels Lohmann
61b46a56fb
🏗️ replace is_pod by is_trivial
2020-02-15 10:12:27 +01:00
Michael Balszun
5c045f7d0a
Use correct accumulator type in binary_writer if size_t != ul
...
- Also fixes warning in msvc about possible loss of data in
that size computation.
2019-11-19 11:06:45 +01:00
Xav83
13a7c60257
Correct a warning from cppcheck:
...
binary_writer.hpp:869: (style) Consider using std::accumulate algorithm instead of a raw loop.
910a7d2b87/checks (step)
:5:107
Signed-off-by: Xav83 <x.jouvenot@gmail.com>
2019-09-20 11:45:38 +02:00
Thomas Braun
6ce2f35ba8
Fix outputting extreme integer values in edge cases
...
For some gcc version (Ubuntu 5.5.0-12ubuntu1~16.04) the existing code
crashes when the minimum value of int64_t is outputted.
Resurrect the code from before 546e2cbf
(🚨 fixed some warnings,
2019-03-13) but delegate the sign removal so that the compilers don't
complain about taking the negative value of an unsigned value.
In addition we also rewrite the expression so that we first increment
and then negate.
The definition of remove_sign(number_unsigned_t) is never called as
unsigned values are never negative.
2019-09-03 13:55:15 +02:00
Niels Lohmann
a501365ea2
Merge branch 'feature/hedley' into develop
2019-07-14 20:58:08 +02:00
Niels Lohmann
b17440c12f
🚨 fix compiler warnings
2019-07-12 21:05:16 +02:00
Niels Lohmann
947656544d
🚨 fix warnings
2019-07-02 21:06:42 +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
8d3f4f21bc
🔨 clean up
2019-03-18 13:53:48 +01:00
Niels Lohmann
56f6d1d68e
💚 fix CI and #1521
2019-03-17 15:20:22 +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
0c65ba960e
Merge branch 'develop' of https://github.com/nlohmann/json into develop
2019-03-13 22:14:57 +01:00
Niels Lohmann
546e2cbf5e
🚨 fixed some warnings
2019-03-13 22:14:53 +01:00
Andreas Schwab
bb22b1003f
Do proper endian conversions
...
This fixes all testsuite failures on big endian hosts.
2019-02-25 12:09:13 +01:00
Niels Lohmann
6de4df23e4
🐛 fixed integer overflow in dump function #1447
...
Closes #1447 .
2019-01-20 12:26:01 +01:00
scinart
899bd94b43
flush buffer in serializer::dump_escaped case UTF8_REJECT
...
serializer use fixed buffer. Whenever it is nearly full, it is flushed to `output_adapter_t<char> o`
But the code forgets to flush when there is a invalid utf8 code point
So there will be buffer overflow.
2019-01-18 20:35:48 -05:00
Patrick Boettcher
d0c0d16110
🚨 fixed unused variable warning
...
Since 6503e83e74
"Improve dump_integer performance by implementing a more efficient int2ascii"
an unused variable and thus a warning existed.
2019-01-15 15:21:02 +01:00
Isaac Nickaein
6503e83e74
Improve dump_integer performance by implementing a more efficient int2ascii
...
This commits implements a faster int2ascii inspired by "Fastware" talk given
by Andrei Alexandrescu.
See: https://www.youtube.com/watch?v=o4-CwDo2zpg
2019-01-12 08:58:30 -08:00
Niels Lohmann
6f89613acd
🚨 fixed some warnings
2018-12-23 13:56:18 +01:00
Niels Lohmann
da81e7be22
🏁 adding parentheses around std::snprintf calls #1337
2018-11-09 21:18:02 +01:00
Niels Lohmann
d2e4f0b0d9
✏️ fixed some typos
2018-10-28 14:20:20 +01:00
Niels Lohmann
7d0dc10169
🚨 fixed a linter warning
2018-10-27 18:34:35 +02:00
Niels Lohmann
45a761bd60
Merge branch 'develop' of https://github.com/nlohmann/json into develop
2018-10-27 18:31:06 +02:00
Niels Lohmann
4e765596f7
🔨 small improvements
2018-10-27 18:31:03 +02:00
Niels Lohmann
5a6bdf5934
Merge branch 'develop' into feature/convert_char
2018-10-27 16:48:48 +02:00
Niels Lohmann
6384fe28db
🚨 fixed another linter warning
2018-10-26 23:12:41 +02:00
Niels Lohmann
544150d5a5
🚨 fixed another linter warning
2018-10-26 11:10:49 +02:00
Niels Lohmann
c2e175763c
👌 added another conversion function #1315
2018-10-25 22:47:08 +02:00
Niels Lohmann
7ce720b700
🚨 fixed coverage
2018-10-25 18:21:50 +02:00
Niels Lohmann
19647e083c
🚨 fixed compiler warnings
2018-10-25 14:27:55 +02:00
Niels Lohmann
62126278a6
🔨 added fix for arrays
2018-10-25 13:01:18 +02:00
Niels Lohmann
1968e5c793
🎨 clean up binary formats
2018-10-24 23:39:30 +02:00
Niels Lohmann
e2c5913a50
🚧 some changes to the BSON code
...
- added fuzz testers
- added some reference files
- made an exception text more clear
2018-10-24 15:43:37 +02: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
7b501de054
Merge pull request #1314 from nlohmann/feature/codec_errors
...
Allow to set error handler for decoding errors
2018-10-24 08:40:58 +02:00
Niels Lohmann
20038e2703
📝 added a note to the discussion #1286
2018-10-23 23:00:43 +02:00
Niels Lohmann
87ef3f25f2
✏️ fixed a typo #1314
2018-10-23 22:56:10 +02:00
Niels Lohmann
b49f76931f
👌 replaced static_cast to CharType by conversion function #1286
2018-10-23 17:49:04 +02:00
Niels Lohmann
c51b1e6fab
🚧 fixed an issue with ensure_ascii #1198
2018-10-22 15:53:36 +02:00
Niels Lohmann
c7af027cbb
🚧 respect ensure_ascii parameter #1198
2018-10-22 09:18:16 +02:00
Niels Lohmann
e5dce64115
💚 added tests #1198
...
Test every prefix of Unicode sequences against the different dump functions.
2018-10-21 23:26:25 +02:00
Niels Lohmann
c5821d91e5
🚧 overworked error handlers #1198
2018-10-21 11:49:37 +02:00
Julian Becker
ad11b6c35e
BSON: Improved exception-related tests and report location of U+0000 in the key-string as part of out_of_range.409
-message
2018-10-18 20:05:46 +02:00
Julian Becker
8de10c518b
BSON: Hopefully fixing ambiguity (on some compilers) to call to string::find()
2018-10-17 21:47:01 +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
Niels Lohmann
dbb0b63187
♿ improved error messages for binary formats #1288
...
This commit is the equivalent of #1282 for CBOR, MessagePack, and UBJSON.
2018-10-17 12:15:58 +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
Niels Lohmann
0671e92ced
🚧 proposal for different error handlers #1198
...
Proof of concept; currently only as parameter to the internal dump_escaped function; that is, not yet exposed to the dump function.
2018-10-16 20:38:50 +02:00
Julian Becker
5bccacda30
BSON: throw json.exception.out_of_range.407 in case a value of type std::uint64_t
is serialized to BSON. Also, added a missing EOF-check to binary_reader.
2018-10-16 19:13:07 +02:00
Niels Lohmann
6e49d9f5ff
🚑 fixed compilation error
2018-10-07 21:34:40 +02:00
Julian Becker
df0f612d1b
BSON: allow and discard values and object entries of type value_t::discarded
2018-10-07 20:08:05 +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
ec95438a59
🚨 fixed some linter warnings
2018-10-06 13:49:02 +02:00
Niels Lohmann
c61a9071ae
🚨 fixed a compilation issue with ICPC #755
...
Closes #1222
2018-09-29 11:50:14 +02:00
Julian Becker
ef358ae695
BSON: Fixed hangup in case of incomplete bson input and improved test coverage
2018-09-25 20:34:25 +02:00
Julian Becker
cf485c2907
BSON: Support for arrays
2018-09-15 13:54:08 +02:00
Julian Becker
120d1d77d4
BSON: test case for a more complex document
2018-09-15 13:41:05 +02:00
Julian Becker
5ce7d6bdd7
BSON: support objects with objects as members
2018-09-15 13:03:42 +02:00
Julian Becker
83b427ad67
BSON: unsigned integers
2018-09-15 12:20:30 +02:00
Julian Becker
c0d8921a67
BSON: support objects with int64 members
2018-09-15 12:00:53 +02:00
Julian Becker
7ee361f7ad
BSON: support objects with int32 members
2018-09-15 11:54:17 +02:00
Julian Becker
c5ef023171
BSON: support objects with null members
2018-09-15 11:39:12 +02:00
Julian Becker
6c447de076
BSON: Support objects with string members
2018-09-15 11:33:24 +02:00
Julian Becker
0c0f2e44b5
BSON: support doubles
2018-09-15 10:32:03 +02:00
Julian Becker
9a0dddc5d2
BSON: Object with single boolean
2018-09-15 03:08:50 +02:00
Julian Becker
5f5836ce1c
BSON: Support empty objects
2018-09-15 00:43:39 +02:00
Julian Becker
f06c8fd8e3
BSON: serialization of non-objects is not supported
2018-09-15 00:20:03 +02:00
Théo DELRIEU
f6febbe359
split meta.hpp, add detected_t (used to define concepts)
2018-08-16 11:58:42 +02:00
Théo DELRIEU
2c920a1032
run make amalgamate
2018-06-18 15:14:10 +02:00
Matthias Möller
ecadcdb593
added char cast
...
should fix the GCC unittest
2018-05-31 16:36:16 +02:00
Matthias Möller
64acb42aa7
remove stringstream dependency
2018-05-31 13:45:58 +02:00
Niels Lohmann
896a9db461
🔨 improved code #1021
2018-03-28 19:37:21 +02:00