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
Niels Lohmann
0feea6168d
📝 fix scanner documentation
2020-01-12 10:22:11 +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
Niels Lohmann
62dada05ca
🐛 fix conversion to std::valarray
...
closes #1824
2019-11-05 19:28:00 +01:00
Niels Lohmann
7bcaba0ca9
Merge pull request #1821 from AnthonyVH/develop
...
Fix for #1647
2019-11-05 19:15:54 +01:00
Anthony VH
c4923e3d05
Merge remote-tracking branch 'upstream/develop' into develop
2019-11-04 20:50:43 +01:00
Camille Bégué
8b686b30eb
Add restriction for tuple specialization of to_json
...
This commit fix the issue #1825
Signed-off-by: Camille Bégué <c.begue@samsung.com>
2019-11-04 09:57:16 +01:00
Niels Lohmann
a1828bbf57
Merge pull request #1806 from cbegue/develop
...
Fix issue #1805
2019-11-01 19:46:19 +01:00
Camille Bégué
794a3d411a
Fix issue #1805
...
* Add some restriction on pair partial specialization of to_json
Signed-off-by: Camille Bégué <camille.begue.pro@gmail.com>
2019-10-31 18:04:15 +01:00
Anthony Van Herrewege
ddda67a096
Don't capture json input by value ( fixed #1822 ).
2019-10-30 16:16:34 +01:00
Florian Pigorsch
b93d414a35
Fix some spelling errors - mostly in comments & documentation.
...
I did not touch the Changelog file and any third party stuff.
additonal -> additional (1)
apppend -> append (2)
constuctor -> constructor (2)
contect -> context (2)
dobulequote -> doublequote (1)
elemnts -> elements (1)
exakt -> exact (2)
exluded -> exclude (1)
explicitely -> explicitly (2)
narcissic -> narcissistic (1)
ocurred -> occurred (1)
occuring -> occurring (2)
preceeds -> preceded (1)
ot -> to (2)
wehther -> whether (2)
2019-10-19 11:59:51 +02:00
Thomas Braun
35b47c2793
iteration_proxy: Fix integer truncation from std::size_t to int
...
Bug introduced in 0f073e26
(Allow items() to be used with custom string,
2019-09-26).
2019-10-16 20:00:05 +02:00
Niels Lohmann
d187488e0d
Merge pull request #1765 from crazyjul/fix/items-with-alt-string
...
Allow items() to be used with custom string
2019-10-05 22:11:14 +02:00
Julien Hamaide
4615f5a980
Provide default implementation for int_to_string, but allow for overloaded function
2019-10-01 10:34:21 +02:00
christian
7476f5ee0c
Make json_pointer::back const ( resolves #1764 )
2019-10-01 00:57:27 +02:00
Julien Hamaide
0f073e26eb
Allow items() to be used with custom string
2019-09-26 13:20:57 +02: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
Xav83
b9dfdbe6be
Correct a warning from cppcheck:
...
binary_reader.hpp:650: (style) Unsigned expression 'mant' can't be negative so it is unnecessary to test it
910a7d2b87/checks (step)
:5:84
Signed-off-by: Xav83 <x.jouvenot@gmail.com>
2019-09-19 19:25:55 +02:00
Niels Lohmann
06ccd43a2a
Merge pull request #1722 from t-b/fix-int64-min-issue
...
Fix int64 min issue
2019-09-10 07:58:02 +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
Thomas Braun
d5c0d52f37
external_constructor<std::valarray>: Handle empty array properly
...
Clang UBSAN complains with the following message when an empty std::valarray is passed in:
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /usr/lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/valarray:571:14 in
2/2 Test #68 : test-regression_all ..............***Failed 4.68 sec
/usr/lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/valarray:571:14: runtime error: reference binding to null pointer of type 'const do
uble'
#0 0x6fbe57 in std::valarray<double>::operator[](unsigned long) const /usr/lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/valarray:
571:7
#1 0x6fbe57 in double const* std::begin<double>(std::valarray<double> const&) /usr/lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/v
alarray:1207
#2 0x6fbe57 in void nlohmann::detail::external_constructor<(nlohmann::detail::value_t)2>::construct<nlohmann::basic_json<std::map, std::vector, s
td::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_seri
alizer>, double, 0>(nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool
, long, unsigned long, double, std::allocator, nlohmann::adl_serializer>&, std::valarray<double> const&) /home/firma/devel/json/include/nlohmann/deta
il/conversions/to_json.hpp:157
#3 0x5e3fe3 in void nlohmann::detail::to_json<nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>
, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer>, double, 0>(nlohmann::basic_json<std::map, std
::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohman
n::adl_serializer>&, std::valarray<double> const&) /home/firma/devel/json/include/nlohmann/detail/conversions/to_json.hpp:270:5
#4 0x5e3fe3 in decltype((to_json(fp, std::forward<std::valarray<double>&>(fp0))) , ((void)())) nlohmann::detail::to_json_fn::operator()<nlohmann:
:basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double
, std::allocator, nlohmann::adl_serializer>, std::valarray<double>&>(nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std
::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer>&, std::valarray<double>&) c
onst /home/firma/devel/json/include/nlohmann/detail/conversions/to_json.hpp:334
#5 0x5e3fe3 in decltype((nlohmann::(anonymous namespace)::to_json(fp, std::forward<std::valarray<double>&>(fp0))) , ((void)())) nlohmann::adl_ser
ializer<std::valarray<double>, void>::to_json<nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, st
d::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer>, std::valarray<double>&>(nlohmann::basic_json<std:
:map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator
, nlohmann::adl_serializer>&, std::valarray<double>&) /home/firma/devel/json/include/nlohmann/adl_serializer.hpp:45
#6 0x5e3fe3 in nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool,
long, unsigned long, double, std::allocator, nlohmann::adl_serializer>::basic_json<std::valarray<double>&, std::valarray<double>, 0>(std::valarray<d
ouble>&) /home/firma/devel/json/include/nlohmann/json.hpp:1257
#7 0x5e3fe3 in _DOCTEST_ANON_FUNC_2() /home/firma/devel/json/test/src/unit-regression.cpp:1377
#8 0x77313e in doctest::Context::run() /home/firma/devel/json/test/thirdparty/doctest/doctest.h:5938:21
#9 0x777ae0 in main /home/firma/devel/json/test/thirdparty/doctest/doctest.h:6016:71
#10 0x7fae220532e0 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x202e0)
#11 0x4a6479 in _start (/home/firma/devel/json/build/test/test-regression+0x4a6479)
The important thing to note here is that a std::valarray is *not* a STL
container, so the usual containter and iterator semantics don't apply.
Therefore we have to check if the container is non-empty before.
2019-09-03 13:22:03 +02:00
Thomas Braun
61fe5f1eee
input_buffer_adapter: Fix handling of nullptr input
...
Clang UBSAN currently complains that the char * to input_buffer_adapter
is a nullptr.
Turns out it is actually required to accept nullptr, see for example
line 415 in input_adapters.hpp
...
// the address of first cannot be used: use nullptr
ia = std::make_shared<input_buffer_adapter>(nullptr, len);
....
Therefore we have to handle it gracefully here. We now also ignore the
length parameter l if b is a nullptr.
2019-09-03 13:22:03 +02:00
Niels Lohmann
323cf95d8c
🚨 fix linter warning
2019-07-21 14:04:49 +02:00
Niels Lohmann
cf8251eb54
🚑 fix compiler errors
2019-07-14 21:19:55 +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
104c5c1996
Merge branch 'feature/json_pointer_contains' into develop
2019-07-09 08:08:56 +02:00
Niels Lohmann
947656544d
🚨 fix warnings
2019-07-02 21:06:42 +02:00
Niels Lohmann
346e9813c5
🚧 add more annotations
2019-07-02 20:25:51 +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
258fa798f1
✨ add contains function for JSON pointers
2019-06-30 10:03:08 +02:00
Isaac Nickaein
3db14cbfae
📝 Improve doc on const_inter constructor
2019-06-24 15:40:01 +04:30
Isaac Nickaein
798e83a038
Workaround msvc2015 bug with explicit copy-constructor for const_iterator
2019-06-22 21:15:11 +04:30
Théo DELRIEU
e6e6805c6c
add built-in array support in get_to
2019-04-01 17:47:45 +02:00
Théo DELRIEU
2806b201a8
make sure values are overwritten in from_json overloads
...
Caused unexpected behaviors when using get_to with values previously
set.
Fixes !1511
2019-04-01 17:47:42 +02:00
Niels Lohmann
b52c3638f5
Merge pull request #1551 from heavywatal/fix-1535-nodiscard-clang
...
Remove C++17 extension warning from clang; #1535
2019-03-29 09:14:25 +01:00
Niels Lohmann
d21d298397
🎨 fixed indentation
2019-03-28 14:23:26 +01:00
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
9d6ab9014f
🏁 fixed a compilation error in MSVC #1531
2019-03-20 14:13:29 +01:00
Niels Lohmann
7c55510f76
🚨 fixed some warnings #1527
2019-03-20 11:06:39 +01:00
Niels Lohmann
002addabd8
🚨 fixed a warning
2019-03-19 23:10:21 +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
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
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
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
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