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
11fecc25af
add constraints for variadic json_ref constructors
...
Fixes #1292
2018-10-12 10:54:58 +02:00
Niels Lohmann
74a31075e3
♿ improved parse error messages
2018-10-07 22:39:17 +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
Niels Lohmann
b968faa882
🔖 set version to 3.3.0
2018-10-05 10:59:33 +02:00
Niels Lohmann
53ec0a16f3
Merge pull request #1271 from chuckatkins/cleanup-deprecated-warnings
...
Turn off additional deprecation warnings for GCC.
2018-10-02 22:07:18 +02:00
Chuck Atkins
829571ab5c
Turn off additional deprecation warnings for GCC.
...
In follow up from the conversation in #1269 , this adds the
`-Wno-deprecate-declarations` flag to unit tests to allow them to
test deprecated APIs without all the noisy compiler warnings.
This also refactors the setting of build properties for test targets
to use `target_<...>` commands instead of `set_target_properties()`.
2018-10-02 13:01:19 -04:00
Niels Lohmann
c8231eff75
Merge pull request #1260 from chuckatkins/fix-cmake-target-alias
...
Fix broken cmake imported target alias
2018-10-01 17:44:50 +02:00
Chuck Atkins
564506a885
cmake: add import config tests
2018-09-30 22:52:47 -04: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
knilch
8c1387cfb3
unit-testsuites.cpp: fix hangup if file not found
...
If run from the wrong directory, std::ifstream f("test/data/big-list-of-naughty-strings/blns.json"); will not find the file and thus f.eof() will never return true.
Use canonical C++ file reading loop from https://gehrcke.de/2011/06/reading-files-in-c-using-ifstream-dealing-correctly-with-badbit-failbit-eofbit-and-perror/ instead.
2018-09-28 11:33:23 +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
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
Ben Berman
8f07ab6392
Replace "key-style argument" with "string argument"
2018-09-17 15:36:38 -04:00
Ben Berman
ad053ef09c
Fix tests for improved error 305(hopefully)
2018-08-30 13:21:55 -04:00
Niels Lohmann
9f3857ef6f
🔖 set version to 3.2.0
2018-08-18 18:46:15 +02:00
Niels Lohmann
5ad52f4167
⬆️ Catch 1.12.0
2018-08-18 12:02:12 +02:00
Niels Lohmann
57faaf42ca
🚨 fixed a compiler warning
2018-08-18 08:15:03 +02: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
07494e06d7
🚨 fixed some compiler warnings
2018-08-16 18:20:30 +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
fed70f6bff
🎨 reindented code
2018-08-14 22:11:08 +02:00
Michael Gmelin
05b27e83b7
Exclude bytewise comparison in certain tests.
...
These tests never worked - they weren't run before
d5aaeb4
.
Note that these tests would fail because of this library
ordering dictionary keys (which is legal). So changing the
input files (or modifying stored cbor/msgpack/ubjson files)
would make the tests work and they could get removed from
"exclude_packaged".
Also move parsing of files in these unit tests to within
the inner sections, so that they're only parsed
number_of_files * number_of_sections instead of
number_of_files * number_of_files * number_of_sections
(so, instead of close to 100k parses about 700).
2018-07-29 14:52:52 +02:00
Michael Gmelin
d5aaeb4cce
Make section names unique in loops, as catch doesn't support duplicate
...
sections, see also https://github.com/catchorg/Catch2/issues/816#issuecomment-278268122
As a result, when built with gcc, loop iterations were skipped. When
built with clang, the test aborted with an assertion in catch.hpp
line 6222.
This also addresses the issues discussed here:
https://github.com/nlohmann/json/issues/1032#issuecomment-378707696
and here:
https://github.com/catchorg/Catch2/issues/1241
Please note that this introduces new problems, as some of
the unit tests fail now - the library stores keys in
lexographical order, while the cbor/msgpack/ubjson examples
store them in original order.
2018-07-29 10:44:36 +02:00
Niels Lohmann
3760a38b7e
🏁 implicit conversion is not allowed with MSVC
2018-07-21 11:47:05 +02:00
Niels Lohmann
5b14411669
🏁 trying to fix C2440 error
...
Error in AppVeyor:
unit-conversions.cpp(441): error C2440: 'initializing': cannot convert from 'nlohmann::json' to 'std::nullptr_t'
(https://ci.appveyor.com/project/nlohmann/json/build/2838/job/wo7im01sq6tvhe9m )
2018-07-21 10:59:00 +02:00
Niels Lohmann
347e77bdc1
🚑 fix for #1169
2018-07-21 10:31:55 +02:00
Sonu Lohani
b8ad3388ec
Fixed compiler error in VS 2015 for debug mode
...
https://github.com/nlohmann/json/issues/1114
2018-06-29 09:34:41 +05:30
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
Julius Rakow
9f00db48d9
📝 link to cppreference via HTTPS
2018-06-24 22:34:47 +02:00
Niels Lohmann
09c0df4a21
👷 choosing correct image
2018-06-24 17:40:16 +02:00
Niels Lohmann
d8fe13fc83
🔨 fixed escaping for MinGW
2018-06-24 16:57:53 +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
850922269d
🚨 removed compiler warnings
2018-06-23 10:28:04 +02:00
Niels Lohmann
e7c1638d11
💄 cleanup
2018-06-18 22:03:46 +02:00
Niels Lohmann
1c81e9f5ae
Merge pull request #1130 from agrianius/develop
...
test (non)equality for alt_string implementation
2018-06-18 22:01:53 +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
Danielc
1566ad4053
fixed compile error for #1045 ; to_json for iternation_proxy_internal was needed
2018-06-16 12:01:49 +03:00
Vitaliy
f574d7e084
simplify templates for operators, add more checks
2018-06-14 15:07:06 +03:00
Vitaliy
cd28d872e7
forward declarations to make new compilers happy
2018-06-11 20:50:39 +03:00
Vitaliy
3d3055909c
define global operator< for const char* and alt_string
2018-06-11 19:09:57 +03:00
Vitaliy
4feb8211ca
test (non)equality for alt_string implementation
2018-06-11 18:03:46 +03:00