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
87ef3f25f2
✏️ fixed a typo #1314
2018-10-23 22:56:10 +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
Niels Lohmann
9294e25c98
Merge pull request #1301 from theodelrieu/fix/1299
...
add new is_constructible_* traits used in from_json
2018-10-18 19:18:48 +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
Théo DELRIEU
a946dfc19c
add a note to maintainers in type_traits.hpp
2018-10-17 12:03:10 +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
daa3ca8a2e
BSON: Adjusted documentation of binary_writer::to_bson()
2018-10-16 19:29:42 +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
Théo DELRIEU
45c8af2c46
add new is_constructible_* traits used in from_json
...
is_compatible_* traits were used in from_json, but it made no sense
whatsoever.
It used to work because of non-SFINAE correctness + json_ref
unconstrained variadic template constructor.
SFINAE checks are becoming quite complex, we need a specification of
some sort describing:
* which concepts the library uses
* how the conversion to/from json works in detail
Having such a specification would really help simplifying the current
code (as well as having meaningful checks).
Fixes !1299
2018-10-16 14:00:34 +02:00
Théo DELRIEU
11fecc25af
add constraints for variadic json_ref constructors
...
Fixes #1292
2018-10-12 10:54:58 +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
6d34d64bfd
🚑 fixed compilation error
2018-10-08 06:54:51 +02:00
Niels Lohmann
74a31075e3
♿ improved parse error messages
2018-10-07 22:39:17 +02:00
Niels Lohmann
6e49d9f5ff
🚑 fixed compilation error
2018-10-07 21:34:40 +02:00
Niels Lohmann
f8158997b5
📝 fixed documentation
2018-10-07 21:30:58 +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
Niels Lohmann
6d09cdec34
🐛 fixed a bug in the unget function
2018-10-07 16:48:45 +02:00
Niels Lohmann
011b15dd08
♿ added line positions to error messages
...
This is a follow-up to #1210 .
2018-10-07 12:27:24 +02:00
Julian Becker
81f4b34e06
BSON: Improved documentation and error handling/reporting
2018-10-07 09:57:55 +02:00
Niels Lohmann
fa722d5ac3
🚨 fixed another linter warning
2018-10-06 16:26:47 +02:00
Niels Lohmann
ec95438a59
🚨 fixed some linter warnings
2018-10-06 13:49:02 +02:00
Niels Lohmann
b968faa882
🔖 set version to 3.3.0
2018-10-05 10:59:33 +02:00
Niels Lohmann
bb55885215
💄 cleaned code
2018-10-04 20:42:19 +02:00
Antonio Borondo
b6fdad9acd
Remove anonymous namespace
2018-10-03 13:51:49 +01:00
Antonio Borondo
7c385a4844
Fix error: 'wide_string_input_helper' was not declared in this scope
2018-10-03 12:41:34 +01:00
Antonio Borondo
9ba3f79667
Fix error: explicit specialization in non-namespace scope
2018-10-03 12:26:24 +01:00
Antonio Borondo
8d1585f065
Change implementation to use templates
2018-10-03 11:44:02 +01:00
Antonio Borondo
ad3c216bb5
Generate header
2018-10-03 11:27:53 +01:00
Niels Lohmann
1fae82b7a7
Merge branch 'develop' into fix/1237
2018-09-29 14:50:36 +02:00
Niels Lohmann
d26f39466e
Merge pull request #1231 from theodelrieu/feature/get_with_parameter
...
Add a get overload taking a parameter.
2018-09-29 14:30:04 +02:00
Julian Becker
e8730e5e82
BSON: Reworked binary_reader::get_bson_cstr()
2018-09-29 11:50:01 +02:00
Niels Lohmann
4e54c9a13d
🚨 fixed a compilation issue with ICPC #755
...
Closes #1222
2018-09-29 11:48:49 +02:00
Julian Becker
0a09db9cc2
BSON: Extend binary_reader::get_number
to be able to hanlde little endian input to get rid of binary_reader::get_number_little_endian
2018-09-29 11:33:01 +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
Henry Fredrick Schreiner
7a37ba0c02
Adding 4.8 test to travis
2018-09-27 22:31:39 +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