Commit graph

262 commits

Author SHA1 Message Date
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 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)