Commit graph

211 commits

Author SHA1 Message Date
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
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
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
c790b9f8c0
🐛 fixed regression #1530 2019-03-20 12:41:08 +01:00
Niels Lohmann
b37392b7ac
🔖 set version to 3.6.0 2019-03-20 00:19:07 +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
b224c52376
🎨 cleanup 2019-03-19 09:17:14 +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
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
27011e3718
🚨 fixed warnings 2019-03-15 14:55:13 +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
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
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
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
Isaac Nickaein
372c4d2125
Merge branch 'develop' into iterate-on-destruction 2019-01-28 02:41:22 +03:30
Niels Lohmann
d359fd3a8d
🚧 trying nodiscard attribute #1433 2019-01-19 17:32:23 +01:00
Isaac Nickaein
f0883dda8f During destruction, flatten children of objects to avoid recursion 2019-01-15 20:29:51 +03:30
Niels Lohmann
ad01736d55
💡 improved documentation for parsing without exceptions #1405
Closes #1405
2019-01-13 11:46:05 +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
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
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
7b2f8cce03
🔖 set version to 3.4.0 2018-10-30 21:30:20 +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
24946f67f1
🚨 fixed some more linter warnings 2018-10-28 09:15:41 +01: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
c5821d91e5
🚧 overworked error handlers #1198 2018-10-21 11:49:37 +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
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
Julian Becker
daa3ca8a2e BSON: Adjusted documentation of binary_writer::to_bson() 2018-10-16 19:29:42 +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
f8158997b5
📝 fixed documentation 2018-10-07 21:30:58 +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
Julian Becker
81f4b34e06 BSON: Improved documentation and error handling/reporting 2018-10-07 09:57:55 +02:00
Niels Lohmann
b968faa882
🔖 set version to 3.3.0 2018-10-05 10:59:33 +02:00
Niels Lohmann
1fae82b7a7
Merge branch 'develop' into fix/1237 2018-09-29 14:50:36 +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
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
f06c8fd8e3 BSON: serialization of non-objects is not supported 2018-09-15 00:20:03 +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
Ben Berman
bbdfe7dea6 Improve error messages for error 305
Addresses #1220
2018-08-30 12:35:51 -04: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
Niels Lohmann
b5c54b41fd
📝 overworked documentation 2018-08-16 21:53:47 +02:00
Théo DELRIEU
38f8a51a8f
use abstract sax class in parser tests 2018-08-16 11:59:49 +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
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
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
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
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
85f35a1d59
📝 documentation fix 2018-06-22 22:34:42 +02: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
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
Jan Schöppach
53fb230098
Fix typo 2018-04-17 12:08:44 +02: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
9e07e9b4ec
implemented non-throwing binary reader 2018-03-19 22:48:13 +01:00
Niels Lohmann
22929fe189
🚧 started a SAX/DOM/callback parser 2018-03-18 15:13:53 +01: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
abac6a0e84
Merge branch 'develop' into feature/sax2 2018-03-13 23:58:17 +01:00
Niels Lohmann
ad47b0fbde
♻️ refactored binary readers to use a SAX parser 2018-03-11 18:47:38 +01: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
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
97559bb1b2
🔨 trying to fix the leak
Part 1: properly use forwarding
2018-03-08 07:36:56 +01:00
Niels Lohmann
303a0c5843
Merge branch 'develop' into feature/sax2 2018-03-07 22:26:01 +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
5b9d03cfdb
🔨 added SAX-DOM-Parser 2018-03-05 21:06:00 +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
8c7f46f7d0
🔨 removed a logic error and improved coverage 2018-02-25 17:10:30 +01:00
Niels Lohmann
374ebacc51
added a SAX parser #971 2018-02-24 18:04:07 +01:00
Niels Lohmann
938c861a09
🔖 set version to 3.1.1 2018-02-12 22:59:36 +01:00
Niels Lohmann
865ff00de0
📝 updated documentation wrt. objects #963 2018-02-09 23:37:20 +01:00
Niels Lohmann
0258484626
🔖 set version to 3.1.0
- updated documentation wrt. new repository layout
- temporarily switched off Homebrew --HEAD building (can only be switched on after release)
- set copyright date to 2018
2018-02-01 22:20:26 +01:00
Théo DELRIEU
14cd019861
fix cmake install directory (for real this time)
* Rename 'develop' folder to 'include/nlohmann'
* Rename 'src' folder to 'single_include/nlohmann'
* Use <nlohmann/*> headers in sources and tests
* Change amalgamate config file
2018-02-01 11:06:51 +01:00
Renamed from develop/json.hpp (Browse further)