Niels Lohmann
dead99eb0e
🔨 overwork binary subtypes
2020-05-17 13:51:59 +02:00
Niels Lohmann
ab6e76dd05
Merge branches 'binary_type' and 'develop' of https://github.com/nlohmann/json into binary_type
2020-05-17 12:27:58 +02:00
Niels Lohmann
3799b3f8dd
Merge pull request #2116 from nlohmann/issue2113
...
Fix warnings from Clang 10 and GCC 9
2020-05-17 12:19:06 +02:00
Niels Lohmann
6154d50a9f
Merge pull request #2115 from nlohmann/issue2089
...
Do not include <ciso646> when using C++17
2020-05-17 12:17:17 +02:00
Niels Lohmann
28e20bd9e4
🚨 fix warnings #2113
2020-05-16 14:26:17 +02:00
Niels Lohmann
c0cf67ead3
Merge branch 'develop' of https://github.com/nlohmann/json into binary_type
2020-05-16 12:58:13 +02:00
Niels Lohmann
f40a9f876a
Merge pull request #2044 from dota17/issue#1719
...
Fix issue#1719
2020-05-16 12:57:00 +02:00
Niels Lohmann
3ed059f6ff
⏪ revert faulty changes
2020-05-16 12:56:18 +02:00
Niels Lohmann
bc1886fb60
♻️ refine interface of wrapped_binary_t
2020-05-15 23:21:49 +02:00
Niels Lohmann
a452e8a0a1
💚 fix GCC 4.9 compilation
2020-05-15 22:38:18 +02:00
chenguoping
5dd27f1a9f
compare against max float and min float before converting
2020-05-15 21:47:59 +08:00
Niels Lohmann
daf2d296dd
♻️ move wrapped binary type to separate file
2020-05-15 14:12:32 +02:00
chenguoping
779a0ec7df
update
2020-05-15 17:35:43 +08:00
Niels Lohmann
bcf4f3ce9a
📝 add warning for items() on temporary objects #2040
2020-05-14 19:06:48 +02: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
chenguoping
cdf5327ace
Fix issue#2086
2020-05-14 12:44:30 +08: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
5c42847011
✅ add tests for binary type
2020-05-10 13:23:18 +02:00
Niels Lohmann
fff46ea98c
✅ add tests for binary type
2020-05-09 23:18:12 +02:00
Niels Lohmann
b036ace235
🐛 fix bug in binary constructor
2020-05-09 14:16:49 +02:00
Niels Lohmann
f0c6ab4d3b
🐛 fix bug in SAX callback parser
2020-05-08 14:21:11 +02:00
Niels Lohmann
8c2b26de4a
⚗️ do not include <ciso646> with C++20 #2089
2020-05-07 10:17:32 +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
421a084396
✨ add convenience function to create binary value with given subtype
2020-05-06 21:23:45 +02:00
Niels Lohmann
6dee8866a8
🐛 fix binary comparison
2020-05-05 12:40:04 +02:00
Niels Lohmann
48aa441661
✨ add swap function for binary type
2020-05-04 22:07:36 +02:00
Niels Lohmann
f0050c9ba0
Merge pull request #2019 from dota17/contains_v2
...
fix #1982:json_pointer.contains() exception is incorrectly raised
2020-05-02 11:04:57 +02:00
Rimas Misevičius
6815968a42
Fix error message about invalid surrogate pairs
...
I tested following strings with invalid surrogate pair and unpaired surrogate in files:
1. `"a\uD800\uD800x"`
2. `"a\uD800x"`
The error messge was: "... invalid string: surrogate U+DC00..U+DFFF must be followed by U+DC00..U+DFFF; ..."
I think it must be: "... invalid string: surrogate U+D800..U+DBFF must be followed by U+DC00..U+DFFF; ..."
2020-05-01 00:23:04 +03:00
Niels Lohmann
db013c9428
Merge pull request #2071 from nlohmann/issue2067
...
Properly pass serialize_binary to dump function
2020-04-29 19:39:58 +02:00
Niels Lohmann
2e5727d778
🐛 properly pass serialize_binary to dump function #2067
2020-04-27 15:10:23 +02:00
Niels Lohmann
9e0180b698
🐛 fix returning reference to local temporary object #2064
2020-04-27 14:43:49 +02:00
Niels Lohmann
a29e3b1318
Merge pull request #2054 from nlohmann/feature/issue1983
...
Fix bug in diff function
2020-04-20 19:44:35 +02:00
chenguoping
8bfc692602
update condition
2020-04-20 16:00:55 +08: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
69ac336042
Merge pull request #1967 from dota17/dota17-disable
...
Fix C26451 warnnings in to_chars.hpp
2020-04-17 10:08:21 +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
Niels Lohmann
dd04a32918
🐛 fix bug in diff function #1983
2020-04-13 14:35:36 +02: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
Niels Lohmann
b0a3883081
🎨 fix format
2020-04-13 13:11:26 +02:00
Niels Lohmann
3483d923d4
Merge pull request #2033 from nlohmann/feature/issue1913
...
Replace deprecated std::is_pod
2020-04-13 12:32:37 +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
4396a68d2d
Merge pull request #1984 from dota17/document-fix
...
Modify the document about operator==
2020-04-11 18:55:18 +02:00
Niels Lohmann
9154e991b8
Merge branch 'develop' into feature/issue1913
2020-04-11 11:33:46 +02:00
Niels Lohmann
ea0a7c7b4f
Merge pull request #2025 from ArtemSarmini/issue-1971-basic_json-push_back
...
Fixes #1971 (memory leak in basic_json::push_back)
2020-04-10 13:19:14 +02:00
chenguoping
34cf7b7a48
just restart ci
2020-04-07 10:00:21 +08:00
Niels Lohmann
6a53a95c32
⬆️ Hedley 13
2020-04-06 11:56:33 +02:00
Niels Lohmann
3884d33c60
Merge pull request #1980 from linev/fix_warning
...
Rename argument array_index to array_indx in json_pointer methods
2020-04-05 22:00:41 +02:00
Artöm Bakri Al-Sarmini
e4d8dc02e8
Fixes #1971 (memory leak in basic_json::push_back)
2020-04-02 15:20:25 +03:00
chenguoping
e07686f0c7
update array_index() and add testcases
2020-03-25 15:57:20 +08:00
chenguoping
2e7d340dad
docs:modify the document about operator==
2020-03-25 10:18:04 +08:00
garethsb-sony
7fe16f9400
PR for #2006 to test in AppVeyor.
2020-03-24 12:53:59 +00: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
a0c4fc945a
fixed bad friend class declaration
2020-02-19 11:23:02 -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
c5eafe74e8
🔖 set version to 3.7.3
2019-11-17 12:09:12 +01:00
Isaac Nickaein
efa13c663d
Reserve stack only for top-level items
2019-11-13 15:23:08 +03:30
Isaac Nickaein
948f98cf4a
Cleanups
...
Make our intent more clear in destruction
2019-11-12 22:24:11 +03:30
Isaac Nickaein
0f3ec003bb
Remove harmful vector::reserve during destruction ( #1837 )
2019-11-12 22:22:55 +03:30
Niels Lohmann
be61ad1470
🎨 fix inconsistent operator style
2019-11-11 21:37:32 +01:00
Niels Lohmann
56109eacd7
🔖 set version to 3.7.2
2019-11-10 21:23:39 +01:00
Isaac Nickaein
eec1974218
Merge remote-tracking branch 'nlohmann/develop' into iterate-on-destruction
2019-11-09 14:50:48 +03:30
Niels Lohmann
aacdc6bbe3
🔖 set version to 3.7.1
2019-11-06 18:37:26 +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
Anthony Van Herrewege
27d0dfc17a
Fix #1647 : non-member operator== breaks enum (de)serialization.
2019-10-30 14:54:52 +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
Niels Lohmann
0245ae5157
Merge pull request #1797 from t-b/fix-integer-truncation
...
iteration_proxy: Fix integer truncation from std::size_t to int
2019-10-17 21:02:48 +02:00
Evan Nemerson
fbcbc76d10
Update Hedley to v11.
2019-10-16 13:39:40 -07: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
Miguel Sacristan
e26a2904fc
Fix and add test's for SFINAE problem
2019-09-10 21:36:23 +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
48e1fe03b5
🔖 set version to 3.7.0
2019-07-28 20:20:41 +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
7a23aa1c0d
Merge branch 'feature/emplace_back' into develop
2019-07-09 08:06:27 +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
9289a23a76
Merge pull request #1643 from kevinlul/develop
...
Fix json.hpp compilation issue with other typedefs with same name (Issue #1642 )
2019-07-01 22:57:04 +02:00
Niels Lohmann
90798caa62
🚚 rename Hedley macros
2019-07-01 22:37:30 +02:00
Niels Lohmann
025f4cea42
🚨 fix warning
2019-07-01 22:29:21 +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
1be63431f3
✨ make emplace_back return a reference #1609
2019-06-30 12:19:41 +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
Niels Lohmann
3b82a350ed
📝 mention 302 exception in value() documentation #1601
2019-06-22 09:44:12 +02:00
kevinlul
f4fca2d59a
Fix #1642
...
While in our case, only the string case was affected, to be safe and allow the library to work with other unforeseen cases, all of the cases have been wrapped with parentheses.
Thank you @DyXel and @edo9300
2019-06-16 18:22:40 -04:00
Macr0Nerd
aa4c45ee4d
Added to_string (with ugly macro) and tests
2019-04-26 18:10:45 -05:00
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
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