Watal M. Iwasaki
5ccdaf643f
Remove C++17 extension warning from clang; #1535
...
- Switch off `nodiscard` for clang unless C++17 is detected.
- Detect C++ standard before the switch.
2019-03-28 14:38:58 +09:00
Niels Lohmann
efa1b9a7bb
🔖 set version to 3.6.1
2019-03-20 20:50:05 +01:00
Niels Lohmann
b33093d610
🐛 fixed regression #1530
2019-03-20 14:40:23 +01:00
Niels Lohmann
9d6ab9014f
🏁 fixed a compilation error in MSVC #1531
2019-03-20 14:13:29 +01:00
Niels Lohmann
c790b9f8c0
🐛 fixed regression #1530
2019-03-20 12:41:08 +01:00
Niels Lohmann
7c55510f76
🚨 fixed some warnings #1527
2019-03-20 11:06:39 +01:00
Niels Lohmann
b37392b7ac
🔖 set version to 3.6.0
2019-03-20 00:19:07 +01:00
Niels Lohmann
002addabd8
🚨 fixed a warning
2019-03-19 23:10:21 +01:00
Niels Lohmann
18cc7ddd62
📝 completed documentation index page
2019-03-19 16:03:02 +01:00
Niels Lohmann
e07e8e7912
📝 updated documentation
2019-03-19 15:40:23 +01:00
Niels Lohmann
710f26f95c
📝 added documentation
2019-03-19 10:06:35 +01:00
Niels Lohmann
b224c52376
🎨 cleanup
2019-03-19 09:17:14 +01:00
Niels Lohmann
37a72dac48
💚 forgot two semicolons
2019-03-18 17:23:34 +01:00
Niels Lohmann
8d3f4f21bc
🔨 clean up
2019-03-18 13:53:48 +01:00
Niels Lohmann
22c733e6fe
📝 added documentation
2019-03-17 22:25:18 +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
b02ee16721
🚨 fixed warnings
2019-03-15 15:55:52 +01:00
Niels Lohmann
8d6c033f80
Merge branch 'develop' of https://github.com/nlohmann/json into develop
2019-03-15 14:55:15 +01:00
Niels Lohmann
27011e3718
🚨 fixed warnings
2019-03-15 14:55:13 +01:00
Ferenc Nasztanovics
0067ea8f9e
Change macros to numeric_limits #1483
2019-03-13 23:44:34 +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
Niels Lohmann
c6fc902184
Merge pull request #1489 from andreas-schwab/develop
...
Do proper endian conversions
2019-03-13 11:57:58 +01:00
Niels Lohmann
c983b67112
Merge pull request #1469 from garethsb-sony/json_pointer-append
...
Add operator/= and operator/ to construct a JSON pointer by appending two JSON pointers
2019-03-11 22:47:08 +01:00
Niels Lohmann
3cd1dac653
🚨 fix MSVC warning #1502
2019-03-11 15:33:23 +01:00
Niels Lohmann
5047c7a217
🐛 added missing include #1500
2019-03-10 22:26:57 +01:00
lieff
7b31e56fbf
fix GCC 7.1.1 - 7.2.1 on CentOS
...
closes https://github.com/nlohmann/json/issues/670
2019-02-25 16:38:22 +03: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
garethsb-sony
08de9eeaca
Add json_pointer::parent_pointer (cf. std::filesystem::path::parent_path)
2019-02-25 09:26:08 +00:00
garethsb-sony
164e0e54d9
Rename private json_pointer::is_root as public json_pointer::empty for consistency with std::filesystem::path
2019-02-25 09:26:07 +00:00
Niels Lohmann
e326df211b
Merge pull request #1474 from nickaein/develop
...
Implement contains() member function
2019-02-13 13:05:21 +01:00
Niels Lohmann
c55cacee1e
Merge pull request #1477 from nickaein/fix-doc
...
Fix documentation
2019-02-13 13:03:46 +01:00
Isaac Nickaein
6a5db00951
Implement contains() to check existence of a key
2019-02-13 13:21:54 +03:30
Isaac Nickaein
fb5ceb26ac
Fix documentation
...
Remove two instance of duplicate paragraphs.
2019-02-11 17:00:48 +03:30
garethsb-sony
c850e9d82d
Add operator/= and operator/ to construct a JSON pointer by appending two JSON pointers, as well as convenience op/= and op= to append a single unescaped token or array index; inspired by std::filesystem::path
2019-01-31 19:15:50 +00:00
past-due
45819dce54
Disable -Wmismatched-tags warning on tuple_size / tuple_element
2019-01-30 12:59:50 -05:00
Isaac Nickaein
372c4d2125
Merge branch 'develop' into iterate-on-destruction
2019-01-28 02:41:22 +03:30
Patrick Boettcher
a06e7f5d80
JSON-pointer: add operator+() returning a new json_pointer
2019-01-24 16:46:51 +01:00
Niels Lohmann
e89c946451
Merge branch 'feature/nodiscard' into develop
2019-01-20 15:41:30 +01:00
Niels Lohmann
6de4df23e4
🐛 fixed integer overflow in dump function #1447
...
Closes #1447 .
2019-01-20 12:26:01 +01:00
Niels Lohmann
e17e0d031f
Merge pull request #1446 from scinart/develop
...
attempt to fix #1445 , flush buffer in serializer::dump_escaped in UTF8_REJECT case.
2019-01-20 12:18:02 +01:00
Niels Lohmann
e36593e960
🔨 trying code from https://godbolt.org/z/-tLO1K
2019-01-20 11:12:20 +01:00
Niels Lohmann
d359fd3a8d
🚧 trying nodiscard attribute #1433
2019-01-19 17:32:23 +01:00
Niels Lohmann
b9a39b38bf
Merge pull request #1434 from pboettch/develop
...
allow push_back() and pop_back() calls on json_pointer
2019-01-19 17:07:36 +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
Isaac Nickaein
f0883dda8f
During destruction, flatten children of objects to avoid recursion
2019-01-15 20:29:51 +03:30
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
Patrick Boettcher
9225cf2f57
allow push_back() and pop_back() calls on json_pointer
...
Putting pop_back() to public and creating a trivial push_back()
method allows users of nlohmann::json_pointer to manipulate an
existing json-pointer by adding or removing keys at the end.
This is useful for traversing a JSON-instance and keeping track
of its "absolute path" at any moment.
In my case for a schema-validator error-handler.
2019-01-15 14:43:46 +01:00
Niels Lohmann
e5753b14a8
🚨 fixed another linter warning #1400
...
Closes #1400 .
2019-01-13 15:40:49 +01:00
Niels Lohmann
5c04cc1009
🔨 fixed includes
2019-01-13 15:31:22 +01:00
Niels Lohmann
8e9ad346d9
🚨 fixed another linter warning
2019-01-13 13:00:54 +01:00
Niels Lohmann
ad01736d55
💡 improved documentation for parsing without exceptions #1405
...
Closes #1405
2019-01-13 11:46:05 +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
c682b9879b
🚨 fixed PVS V567 warning
...
"V567 The modification of the 'position.chars_read_current_line' variable is unsequenced relative to another operation on the same variable. This may lead to undefined behavior."
2018-12-30 23:00:15 +01:00
Niels Lohmann
6f89613acd
🚨 fixed some warnings
2018-12-23 13:56:18 +01:00
Niels Lohmann
78348afeb6
🔖 set version to 3.5.0
2018-12-21 23:52:29 +01:00
Niels Lohmann
1107f8cd82
📝 updated documentation for items() function
2018-12-21 22:51:12 +01:00
Niels Lohmann
45f5611d9b
🚨 fixed two warnings
2018-12-20 22:41:48 +01:00
Niels Lohmann
85849940ba
Merge pull request #1391 from pratikpc/develop
...
Added Support for Structured Bindings
2018-12-20 08:58:08 +01:00
Pratik Chowdhury
ebd3f45808
Added Support for Structured Bindings
...
For further details, read https://github.com/nlohmann/json/issues/1388 and https://blog.tartanllama.xyz/structured-bindings/
2018-12-19 20:17:52 +05:30
Niels Lohmann
4f270e38cc
Merge pull request #1342 from davedissian/bugfix/sfinae-iterator-traits
...
Add a SFINAE friendly iterator_traits and use that instead.
2018-12-19 08:24:18 +01:00
David Avedissian
f1080d7c39
Code review.
2018-12-18 20:44:37 +00:00
Niels Lohmann
5d390e91ff
Merge pull request #1392 from mtalliance/feature/addFileInputAdapter
...
Feature/add file input adapter
2018-12-16 22:10:03 +01:00
Jonathan Dumaresq
c1c85b025c
Forget one std::FILE
2018-12-14 07:33:28 -05:00
Jonathan Dumaresq
635a4fc344
use namespace std when possible. Change the name of private variable.
2018-12-12 16:33:25 -05:00
Jonathan Dumaresq
91ff96a737
remove the const attribute
2018-12-12 14:16:12 -05:00
Jonathan Dumaresq
b7a2642fba
remove comment
2018-12-12 14:15:49 -05:00
Jonathan Dumaresq
ef283e0cf8
add tests to cover the new input adapter
2018-12-12 10:18:37 -05:00
Jonathan Dumaresq
ae48acbb23
remove non usefull code. Add small description
2018-12-12 09:28:42 -05:00
Jonathan Dumaresq
52f6fd1d91
Add the possibility of using FILE * from cstdio library to read a file. This enable the possibility of using low eand device with this library.
2018-12-11 13:17:13 -05:00
David Avedissian
2c23f0a346
Changes requested from code review.
2018-12-08 15:46:33 +00:00
Niels Lohmann
ef90d62ddf
🚨 fixed warning #1364
2018-11-21 21:17:38 +01:00
Niels Lohmann
da81e7be22
🏁 adding parentheses around std::snprintf calls #1337
2018-11-09 21:18:02 +01:00
Niels Lohmann
f80efd3954
💄 cleanup
2018-11-09 21:10:32 +01:00
Niels Lohmann
35829928da
Merge pull request #1343 from mefyl/develop
...
Set eofbit on exhausted input stream.
2018-11-09 21:07:36 +01:00
mefyl
aa10382629
Set eofbit on exhausted input stream.
...
Fix issue #1340 .
The eofbit is set manually since we don't go through the
stream interface. We could maybe use the stream interface
instead, but there are some assumptions regarding which
exception go through, so this seems to be the most prudent
approach for now.
2018-11-08 11:41:17 +01:00
Axel Huebl
97b81da840
merge_patch: rename parameter
...
Avoid shadowing a member of `this` by choosing the same name as
parameter (`-Wshadow`). Instead, make name of parameter more
expressive.
2018-11-08 10:31:47 +01:00
David Avedissian
f665a92330
Implement SFINAE friendly iterator_traits and use that instead.
2018-11-07 18:39:25 +00:00
Niels Lohmann
2f73a4d1f3
🚨 fixed a linter warning
2018-10-31 20:30:24 +01:00
Niels Lohmann
7b2f8cce03
🔖 set version to 3.4.0
2018-10-30 21:30:20 +01:00
Niels Lohmann
8cee0e38d9
🚑 fixed #1319
2018-10-30 17:29:05 +01:00
Niels Lohmann
86b5ce953a
📝 added examples for BSON functions
2018-10-28 15:09:26 +01:00
Niels Lohmann
d2e4f0b0d9
✏️ fixed some typos
2018-10-28 14:20:20 +01:00
Niels Lohmann
f0c1459554
🐛 fixed a bug parsing BSON strings #1320
2018-10-28 09:16:40 +01:00
Niels Lohmann
24946f67f1
🚨 fixed some more linter warnings
2018-10-28 09:15:41 +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
1308ea055d
Merge pull request #1315 from nlohmann/feature/convert_char
...
Properly convert constants to CharType
2018-10-27 16:56:00 +02:00
Niels Lohmann
85aaf91b85
Merge branch 'develop' into feature/enum_json_mapping
2018-10-27 16:52:59 +02:00
Niels Lohmann
5a6bdf5934
Merge branch 'develop' into feature/convert_char
2018-10-27 16:48:48 +02:00
Niels Lohmann
9f48bb6937
⚡ replaced vector by array #1323
2018-10-27 09:58:23 +02:00
Niels Lohmann
6384fe28db
🚨 fixed another linter warning
2018-10-26 23:12:41 +02:00
Niels Lohmann
ad639ad5e6
✨ added NLOHMANN_JSON_SERIALIZE_ENUM marco #1208
2018-10-26 14:48:20 +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
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
0231059290
Fix warning
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
Niels Lohmann
c61a9071ae
🚨 fixed a compilation issue with ICPC #755
...
Closes #1222
2018-09-29 11:50:14 +02:00
Julian Becker
e8730e5e82
BSON: Reworked binary_reader::get_bson_cstr()
2018-09-29 11:50:01 +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
Chris Harris
99b7c7c8ef
Patch nlohmann/json for GCC 4.8
...
See https://github.com/nlohmann/json/pull/212 for details
2018-09-25 18:10:20 +02:00
Théo DELRIEU
4e52277b70
Fix issue #1237
...
* Make the conversion operator SFINAE correct.
* Workaround a GCC bug with some traits in type_traits.hpp
The first bullet-point implies that every `get`/`get_ptr` be SFINAE
correct as well.
2018-09-20 10:33:14 +02:00
David Guthrie
4d780b091b
Reordered the code. It seems to stop clang 3.4.2 in RHEL 7 from crashing intermittently.
2018-09-18 16:38:59 -04:00
Niels Lohmann
7fa3b8865c
Merge pull request #1221 from rivertam/better-error-305
...
Better error 305
2018-09-18 12:49:07 +02:00
Ben Berman
8f07ab6392
Replace "key-style argument" with "string argument"
2018-09-17 15:36:38 -04:00
Julian Becker
df33a90774
BSON: Bugfix for non-empty arrays
2018-09-15 14:08:38 +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
mandreyel
6b5334c167
Move lambda out of unevaluated context
2018-09-10 13:34:59 +02:00
Niels Lohmann
ebb3c03293
🎨 cleanup after #1228
2018-09-09 18:19:33 +02:00
Théo DELRIEU
aea648bb7a
remove now-useless traits. check for is_basic_json where needed
2018-09-07 14:10:39 +02:00
Théo DELRIEU
4b4bbceebf
make from_json SFINAE-correct
2018-09-07 14:10:37 +02:00
Théo DELRIEU
f7971f04a5
make to_json SFINAE-correct
2018-09-07 12:18:04 +02:00
Théo DELRIEU
f7c8a2145a
refactor from/to_json(CompatibleArrayType)
2018-09-07 12:18:04 +02:00
Théo DELRIEU
628f76729e
do not check for compatible_object_type in compatible_array_type
2018-09-07 12:18:03 +02:00
Théo DELRIEU
29f72966c3
refactor is_compatible_type, remove conjunction & co
2018-09-07 12:18:03 +02:00
Théo DELRIEU
77967e6548
refactor is_compatible_integer_type
2018-09-07 12:18:03 +02:00
Théo DELRIEU
13760857ff
refactor is_compatible_array_type
2018-09-07 12:18:02 +02:00
Théo DELRIEU
924e95c6e8
refactor is_compatible_string_type
2018-09-07 12:18:02 +02:00
Théo DELRIEU
e84195ab7b
refactor is_compatible_object_type
2018-09-07 12:18:02 +02:00
Théo DELRIEU
b59c3367c9
use detected instead of has_* traits
2018-09-07 12:17:59 +02:00
Théo DELRIEU
1ea8cd128c
fix void_t for older compilers
2018-09-07 12:17:33 +02:00
Niels Lohmann
eb30ff0615
🚨 fixed a compiler warning #1224
2018-09-06 07:25:19 +02:00
Ben Berman
bbdfe7dea6
Improve error messages for error 305
...
Addresses #1220
2018-08-30 12:35:51 -04:00
Hyeon Kim
aada309f61
Fix #1213
2018-08-24 21:55:13 +09:00
Niels Lohmann
9f3857ef6f
🔖 set version to 3.2.0
2018-08-18 18:46:15 +02:00
Niels Lohmann
c6a482b16c
📝 added example for sax_parse
2018-08-18 15:42:18 +02:00
Niels Lohmann
3811daa8a3
📝 release preparation
2018-08-18 12:00:14 +02:00
Tsz-Ho Yu
3004a73951
Fix -Wno-sometimes-uninitialized by initializing "result" in parse_sax
...
The function parse_sax() returns sometimes-uninitialized warnings in
some compilers. This commit fixes that.
2018-08-18 01:12:19 +01:00
Niels Lohmann
e33b31e6aa
🐛 fixed callback-related issue ( https://github.com/nlohmann/json/issues/971#issuecomment-413678360 )
2018-08-17 23:09:45 +02:00
Niels Lohmann
b5c54b41fd
📝 overworked documentation
2018-08-16 21:53:47 +02:00
Niels Lohmann
07494e06d7
🚨 fixed some compiler warnings
2018-08-16 18:20:30 +02:00
Théo DELRIEU
0cc3db4f15
add static_asserts on SAX interface
2018-08-16 11:59:57 +02:00
Théo DELRIEU
38f8a51a8f
use abstract sax class in parser tests
2018-08-16 11:59:49 +02:00
Théo DELRIEU
9bbb133094
remove no_limit constant and default values
2018-08-16 11:59:05 +02:00
Théo DELRIEU
442886d040
use templates in the sax interface instead of virtuals
2018-08-16 11:58:52 +02:00
Théo DELRIEU
f6febbe359
split meta.hpp, add detected_t (used to define concepts)
2018-08-16 11:58:42 +02:00
Niels Lohmann
3ac2d81a95
🔨 fixed a MinGW error #1193
2018-08-14 22:13:56 +02:00
Niels Lohmann
be2065dce9
🚨 fixing a MinGW warning #1192
2018-08-14 22:11:47 +02:00
Niels Lohmann
0e748f2f8c
Merge pull request #1187 from devsisters/json-internal-catch
...
[RFC] Introduce a new macro function: JSON_INTERNAL_CATCH
2018-08-14 21:56:29 +02:00
Niels Lohmann
347e77bdc1
🚑 fix for #1169
2018-07-21 10:31:55 +02:00
Niels Lohmann
04372a8c56
🏁 fix for #1168
2018-07-19 17:31:50 +02:00
Hyeon Kim
d0e60de433
Add new JSON_INTERNAL_CATCH macro function
2018-07-19 15:43:41 +09:00
Niels Lohmann
39dd775e38
🔨 cleanup after #1134
2018-06-28 21:32:32 +02:00
Niels Lohmann
86a96b059d
Merge pull request #1134 from Daniel599/feature/items_iterator
...
fixed compile error for #1045
2018-06-28 21:21:17 +02:00
Niels Lohmann
396a914f9e
🔨 added macro to disable compiler check #1128
2018-06-26 22:47:40 +02:00
Julius Rakow
963d06a13c
📝 fix links to cppreference named requirements
...
"Concepts" have been renamed to "named requirements".
This is because P0898R3 Standard Library Concepts has been merged into
C++20.
Cppreference have moved their links accordingly.
2018-06-24 22:36:19 +02:00
Julius Rakow
9f00db48d9
📝 link to cppreference via HTTPS
2018-06-24 22:34:47 +02:00
Niels Lohmann
7fa4ddf93e
💄 fixed indentation
2018-06-23 17:27:40 +02:00
Niels Lohmann
bf348ca8a4
Merge pull request #1028 from gracicot/develop
...
Added support for string_view in C++17
2018-06-23 17:10:04 +02:00
Niels Lohmann
ed6a0686df
🔨 small refactoring to improve branch coverage
...
The branch coverage reported by lcov is weird. The code before and after has the same Godbolt assembler, but the code with the lambda has a better branch coverage.
2018-06-23 17:05:04 +02:00
Niels Lohmann
c02de445bf
🚨 fixed more compiler warnings
2018-06-23 11:00:42 +02:00
Niels Lohmann
66dd1a846d
🚨 fixed more compiler warnings
2018-06-23 10:47:55 +02:00
Niels Lohmann
850922269d
🚨 removed compiler warnings
2018-06-23 10:28:04 +02:00
Niels Lohmann
85f35a1d59
📝 documentation fix
2018-06-22 22:34:42 +02:00
Théo DELRIEU
2c920a1032
run make amalgamate
2018-06-18 15:14:10 +02:00
Théo DELRIEU
2b37d7ed86
from_json: add overload for std::unordered_map
...
Fixes #1133
2018-06-18 15:14:10 +02:00
Théo DELRIEU
299469cfd5
from_json: add missing template arguments for std::map
2018-06-18 10:52:11 +02:00
Danielc
1566ad4053
fixed compile error for #1045 ; to_json for iternation_proxy_internal was needed
2018-06-16 12:01:49 +03:00
Guillaume Racicot
14e6278c2f
Merge branch 'develop' of github.com:gracicot/json into develop
2018-06-04 11:18:25 -04:00
Guillaume Racicot
7acd90b651
Fixed check for compatible string type
2018-06-04 11:18:19 -04:00
Guillaume Racicot
5676a2a076
Aligned template declaration
2018-06-03 23:51:07 -04:00
Guillaume Racicot
e0e7fa39e7
Re-added external_constructor with string compatible types
2018-06-03 23:49:13 -04:00
Guillaume Racicot
4778c02ab5
Set MSVC version from 1514 and older
2018-06-01 14:42:25 -04:00
Guillaume Racicot
714c592680
Disabled implicit conversion to string_view on MSVC 15.13 and older
2018-06-01 14:22:57 -04:00
Matthias Möller
ecadcdb593
added char cast
...
should fix the GCC unittest
2018-05-31 16:36:16 +02:00
Matthias Möller
48656a49f5
typo
2018-05-31 15:32:21 +02:00
Matthias Möller
64acb42aa7
remove stringstream dependency
2018-05-31 13:45:58 +02:00
Niels Lohmann
0efaf891e5
Merge pull request #1089 from theodelrieu/feature/map_conversion
...
Provide a from_json overload for std::map
2018-05-28 14:53:23 +02:00
Théo DELRIEU
c5e63fd684
Provide a from_json overload for std::map
...
This overload is chosen only when BasicJsonType::string_t
is not constructible from std::map::key_type.
Currently, converting a map to json treats it as an array of pairs.
fixes #1079
2018-05-28 11:06:24 +02:00
Niels Lohmann
db03d09312
Merge branch 'feature/key_ref' into develop ( fixes #1098 )
2018-05-27 22:26:00 +02:00
Niels Lohmann
3cdc4d784b
📝 added documentation
2018-05-27 18:07:53 +02:00
Niels Lohmann
adf09726b0
Merge branch 'develop' into feature/sax2
2018-05-27 14:26:13 +02:00
Niels Lohmann
481ace65c4
🔨 only calculate array index string when needed #1098
2018-05-27 12:04:22 +02:00
Niels Lohmann
1c6b332dcd
👌 mitigating cppcheck bug #1101
2018-05-26 14:10:13 +02:00
Niels Lohmann
90eb0a91e0
⚡ keys are now returned as const reference #1098
2018-05-26 13:26:40 +02:00
Niels Lohmann
e94862a649
🚑 fixed error in callback logic
2018-05-06 19:00:49 +02:00
Niels Lohmann
ae213721b1
🔨 removed unget function for wstring parsers
2018-05-06 14:05:29 +02:00
Niels Lohmann
5ff2abb90d
Merge branch 'develop' into feature/sax2
2018-05-06 13:29:23 +02:00
Niels Lohmann
ed69e50ad2
📄 added SPDX-License-Identifier
2018-05-03 17:41:45 +02:00
Niels Lohmann
fa3e42f826
Merge branch 'develop' into feature/wstring
2018-04-29 13:16:12 +02:00
Jan Schöppach
53fb230098
Fix typo
2018-04-17 12:08:44 +02:00
Niels Lohmann
8d8f890771
💩 first try on #1045
2018-04-10 08:29:07 +02:00
Niels Lohmann
cf91b4f2bb
Merge branch 'develop' into feature/wstring
2018-04-08 11:36:58 +02:00
Niels Lohmann
e1ea8369ad
Merge branch 'develop' into feature/sax2
2018-04-08 09:31:59 +02:00
Niels Lohmann
1e08654f99
🔨 cleanup
2018-04-02 22:25:17 +02:00
Niels Lohmann
aa89c5e048
🔨 removing unget_character() function from input adapters #834
2018-04-02 21:10:48 +02:00
Niels Lohmann
16c5bfeaad
👌 fixed compiler warnings #1031
2018-04-02 13:01:56 +02:00
Niels Lohmann
eb06d0531a
🚧 added input adapter for wide strings #1031
2018-04-01 19:12:36 +02:00
Niels Lohmann
ba6edd5634
🔨 cleanup
2018-03-30 00:38:18 +02:00
Niels Lohmann
850671b9f1
🔨 using a vector<bool> for the parser hierarchy
2018-03-29 18:45:43 +02:00
Niels Lohmann
5f723bbec6
🔨 realized callback parser wirh SAX interface #971
2018-03-28 23:39:39 +02:00
Niels Lohmann
896a9db461
🔨 improved code #1021
2018-03-28 19:37:21 +02:00
Niels Lohmann
a9baab76c2
🚑 fix for #1021
2018-03-28 18:20:55 +02:00
Niels Lohmann
4f6b2b6429
🔨 changed SAX interface
2018-03-21 20:12:06 +01:00
Niels Lohmann
9e1abb4842
✅ improved coverage
2018-03-20 22:39:08 +01:00
Niels Lohmann
25f56ff207
📝 updated documentation
2018-03-20 19:22:18 +01:00
Niels Lohmann
99ecca55c4
✅ improved test coverage
2018-03-20 18:49:10 +01:00
Niels Lohmann
9e07e9b4ec
✨ implemented non-throwing binary reader
2018-03-19 22:48:13 +01:00
Niels Lohmann
a271ee5f16
♻️ proper use of SAX parser for binary formats
2018-03-18 23:00:45 +01:00
Niels Lohmann
943d641054
🔨 some refactoring
2018-03-18 16:07:21 +01:00
Niels Lohmann
22929fe189
🚧 started a SAX/DOM/callback parser
2018-03-18 15:13:53 +01:00
Niels Lohmann
375b05a17d
🔨 cleanup
2018-03-17 23:31:18 +01:00
Niels Lohmann
606a25195f
✅ improved test coverage
2018-03-17 19:15:59 +01:00
Niels Lohmann
c87ffad45c
♻️ implemented a non-recursive parser
2018-03-17 14:46:50 +01:00
Guillaume Racicot
8165707990
basic_json now supports getting many type of strings
2018-03-15 15:35:00 -04:00
Niels Lohmann
27cf05af8d
Merge branch 'develop' into feature/sax2
2018-03-14 22:02:19 +01:00
Niels Lohmann
afef474c0d
🔖 set version to 3.1.2
2018-03-14 21:09:27 +01:00
Niels Lohmann
282bafae4f
🔨 fixed compilation error
2018-03-14 07:18:42 +01:00
Niels Lohmann
abac6a0e84
Merge branch 'develop' into feature/sax2
2018-03-13 23:58:17 +01:00
Niels Lohmann
8557151d90
♻️ adjusting lexer/parser in symmetry to #1006
2018-03-12 19:15:11 +01:00
Niels Lohmann
3d4f6a2940
🔨 cleaner exception interface
2018-03-11 22:47:25 +01:00
Niels Lohmann
ad47b0fbde
♻️ refactored binary readers to use a SAX parser
2018-03-11 18:47:38 +01:00
Vitaliy Manushkin
830f3e5290
forward alternative string class from output_adapter to output_string_adapter
2018-03-10 23:58:16 +03:00
Vitaliy Manushkin
faccc37d0d
dump to alternate implementation of string, as defined in basic_json template
2018-03-10 17:19:28 +03:00
Niels Lohmann
149d2fd09c
💚 improved test coverage
2018-03-10 11:24:00 +01:00
Niels Lohmann
6399cd3039
Merge branch 'develop' into feature/sax2
2018-03-10 11:07:36 +01:00
Niels Lohmann
6151dfaed7
👌 made changes proposed in #1001
2018-03-10 11:02:58 +01:00
Niels Lohmann
35e43df625
Merge branch 'develop' into feature/sax2
2018-03-09 21:56:30 +01:00
Niels Lohmann
aa8fc2a41c
🚑 hopefully fixed the memory leak
2018-03-08 17:11:15 +01:00
Niels Lohmann
97559bb1b2
🔨 trying to fix the leak
...
Part 1: properly use forwarding
2018-03-08 07:36:56 +01:00
Niels Lohmann
8b379948d0
🔥 replaced acceptor with SAX parser
2018-03-07 22:40:48 +01:00
Niels Lohmann
303a0c5843
Merge branch 'develop' into feature/sax2
2018-03-07 22:26:01 +01:00
Niels Lohmann
d2d65bb25b
♻️ refined SFINAE to fix some warnings
2018-03-07 22:01:44 +01:00
Niels Lohmann
476b2e09be
💚 added regression tests for #972 and #977
2018-03-06 20:13:31 +01:00
Niels Lohmann
62030615a0
Merge pull request #986 from theodelrieu/fix/basic_json_conversion
...
Fix/basic json conversion
2018-03-06 19:27:39 +01:00
Niels Lohmann
5beab80553
🔨 using the SAX-DOM parser
2018-03-06 18:17:07 +01:00
Niels Lohmann
faf2546a15
🔨 simplified SAX-DOM parser
2018-03-06 07:19:05 +01:00
Niels Lohmann
5b9d03cfdb
🔨 added SAX-DOM-Parser
2018-03-05 21:06:00 +01:00
Niels Lohmann
9d27429527
🔨 added error messages to SAX interface
2018-03-05 16:46:35 +01:00
Niels Lohmann
86991d5204
Merge branch 'develop' into feature/sax2
2018-03-05 16:16:43 +01:00
Mike Bogdanov
2a2ed799b1
pvs_studio fix. misprinted condition
2018-03-02 11:12:44 +03:00
Théo DELRIEU
8711ec6034
support construction from other basic_json types
...
Before this patch, `basic_json` types with different template arguments
were treated as `CompatibleArrayType`. Which sometimes leads to recursive
calls and stack overflows.
This patch adds a constructor and a `get` overload to deal with
different `basic_json` types.
2018-02-27 16:48:09 +01:00
Niels Lohmann
3ff9455332
🔨 added a SAX-DOM-Parser
2018-02-26 23:39:23 +01:00
Niels Lohmann
21352c4d8e
♻️ refactored SAX parser
2018-02-26 20:08:12 +01:00
Niels Lohmann
8d6b3d44d6
👌 fixed some compiler warnings
2018-02-25 18:35:16 +01:00
Niels Lohmann
8c7f46f7d0
🔨 removed a logic error and improved coverage
2018-02-25 17:10:30 +01:00