Antonio Borondo
8d1585f065
Change implementation to use templates
2018-10-03 11:44:02 +01:00
Antonio Borondo
0231059290
Fix warning
2018-10-03 11:27:53 +01:00
Niels Lohmann
1fae82b7a7
Merge branch 'develop' into fix/1237
2018-09-29 14:50:36 +02:00
Niels Lohmann
c61a9071ae
🚨 fixed a compilation issue with ICPC #755
...
Closes #1222
2018-09-29 11:50:14 +02:00
Julian Becker
e8730e5e82
BSON: Reworked binary_reader::get_bson_cstr()
2018-09-29 11:50:01 +02:00
Julian Becker
0a09db9cc2
BSON: Extend binary_reader::get_number
to be able to hanlde little endian input to get rid of binary_reader::get_number_little_endian
2018-09-29 11:33:01 +02:00
Julian Becker
ef358ae695
BSON: Fixed hangup in case of incomplete bson input and improved test coverage
2018-09-25 20:34:25 +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
Julian Becker
df33a90774
BSON: Bugfix for non-empty arrays
2018-09-15 14:08:38 +02:00
Julian Becker
cf485c2907
BSON: Support for arrays
2018-09-15 13:54:08 +02:00
Julian Becker
120d1d77d4
BSON: test case for a more complex document
2018-09-15 13:41:05 +02:00
Julian Becker
5ce7d6bdd7
BSON: support objects with objects as members
2018-09-15 13:03:42 +02:00
Julian Becker
83b427ad67
BSON: unsigned integers
2018-09-15 12:20:30 +02:00
Julian Becker
c0d8921a67
BSON: support objects with int64 members
2018-09-15 12:00:53 +02:00
Julian Becker
7ee361f7ad
BSON: support objects with int32 members
2018-09-15 11:54:17 +02:00
Julian Becker
c5ef023171
BSON: support objects with null members
2018-09-15 11:39:12 +02:00
Julian Becker
6c447de076
BSON: Support objects with string members
2018-09-15 11:33:24 +02:00
Julian Becker
0c0f2e44b5
BSON: support doubles
2018-09-15 10:32:03 +02:00
Julian Becker
9a0dddc5d2
BSON: Object with single boolean
2018-09-15 03:08:50 +02:00
Julian Becker
5f5836ce1c
BSON: Support empty objects
2018-09-15 00:43:39 +02:00
Julian Becker
f06c8fd8e3
BSON: serialization of non-objects is not supported
2018-09-15 00:20:03 +02:00
mandreyel
6b5334c167
Move lambda out of unevaluated context
2018-09-10 13:34:59 +02:00
Niels Lohmann
ebb3c03293
🎨 cleanup after #1228
2018-09-09 18:19:33 +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
Théo DELRIEU
4b4bbceebf
make from_json SFINAE-correct
2018-09-07 14:10:37 +02:00
Théo DELRIEU
f7971f04a5
make to_json SFINAE-correct
2018-09-07 12:18:04 +02:00
Théo DELRIEU
f7c8a2145a
refactor from/to_json(CompatibleArrayType)
2018-09-07 12:18:04 +02:00
Théo DELRIEU
628f76729e
do not check for compatible_object_type in compatible_array_type
2018-09-07 12:18:03 +02:00
Théo DELRIEU
29f72966c3
refactor is_compatible_type, remove conjunction & co
2018-09-07 12:18:03 +02:00
Théo DELRIEU
77967e6548
refactor is_compatible_integer_type
2018-09-07 12:18:03 +02:00
Théo DELRIEU
13760857ff
refactor is_compatible_array_type
2018-09-07 12:18:02 +02:00
Théo DELRIEU
924e95c6e8
refactor is_compatible_string_type
2018-09-07 12:18:02 +02:00
Théo DELRIEU
e84195ab7b
refactor is_compatible_object_type
2018-09-07 12:18:02 +02:00
Théo DELRIEU
b59c3367c9
use detected instead of has_* traits
2018-09-07 12:17:59 +02:00
Théo DELRIEU
1ea8cd128c
fix void_t for older compilers
2018-09-07 12:17:33 +02:00
Niels Lohmann
eb30ff0615
🚨 fixed a compiler warning #1224
2018-09-06 07:25:19 +02:00
Hyeon Kim
aada309f61
Fix #1213
2018-08-24 21:55:13 +09:00
Niels Lohmann
3811daa8a3
📝 release preparation
2018-08-18 12:00:14 +02:00
Tsz-Ho Yu
3004a73951
Fix -Wno-sometimes-uninitialized by initializing "result" in parse_sax
...
The function parse_sax() returns sometimes-uninitialized warnings in
some compilers. This commit fixes that.
2018-08-18 01:12:19 +01: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
b5c54b41fd
📝 overworked documentation
2018-08-16 21:53:47 +02:00
Niels Lohmann
07494e06d7
🚨 fixed some compiler warnings
2018-08-16 18:20:30 +02:00
Théo DELRIEU
0cc3db4f15
add static_asserts on SAX interface
2018-08-16 11:59:57 +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
be2065dce9
🚨 fixing a MinGW warning #1192
2018-08-14 22:11:47 +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
347e77bdc1
🚑 fix for #1169
2018-07-21 10:31:55 +02:00
Hyeon Kim
d0e60de433
Add new JSON_INTERNAL_CATCH macro function
2018-07-19 15:43:41 +09:00
Niels Lohmann
39dd775e38
🔨 cleanup after #1134
2018-06-28 21:32:32 +02:00
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
Niels Lohmann
396a914f9e
🔨 added macro to disable compiler check #1128
2018-06-26 22:47:40 +02: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
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
ed6a0686df
🔨 small refactoring to improve branch coverage
...
The branch coverage reported by lcov is weird. The code before and after has the same Godbolt assembler, but the code with the lambda has a better branch coverage.
2018-06-23 17:05:04 +02:00
Niels Lohmann
c02de445bf
🚨 fixed more compiler warnings
2018-06-23 11:00:42 +02:00
Niels Lohmann
66dd1a846d
🚨 fixed more compiler warnings
2018-06-23 10:47:55 +02:00
Niels Lohmann
850922269d
🚨 removed compiler warnings
2018-06-23 10:28:04 +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
Théo DELRIEU
299469cfd5
from_json: add missing template arguments for std::map
2018-06-18 10:52:11 +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
Guillaume Racicot
14e6278c2f
Merge branch 'develop' of github.com:gracicot/json into develop
2018-06-04 11:18:25 -04:00
Guillaume Racicot
7acd90b651
Fixed check for compatible string type
2018-06-04 11:18:19 -04:00
Guillaume Racicot
5676a2a076
Aligned template declaration
2018-06-03 23:51:07 -04:00
Guillaume Racicot
e0e7fa39e7
Re-added external_constructor with string compatible types
2018-06-03 23:49:13 -04:00
Matthias Möller
ecadcdb593
added char cast
...
should fix the GCC unittest
2018-05-31 16:36:16 +02:00
Matthias Möller
48656a49f5
typo
2018-05-31 15:32:21 +02:00
Matthias Möller
64acb42aa7
remove stringstream dependency
2018-05-31 13:45:58 +02:00
Niels Lohmann
0efaf891e5
Merge pull request #1089 from theodelrieu/feature/map_conversion
...
Provide a from_json overload for std::map
2018-05-28 14:53:23 +02:00
Théo DELRIEU
c5e63fd684
Provide a from_json overload for std::map
...
This overload is chosen only when BasicJsonType::string_t
is not constructible from std::map::key_type.
Currently, converting a map to json treats it as an array of pairs.
fixes #1079
2018-05-28 11:06:24 +02:00
Niels Lohmann
db03d09312
Merge branch 'feature/key_ref' into develop ( fixes #1098 )
2018-05-27 22:26:00 +02:00
Niels Lohmann
3cdc4d784b
📝 added documentation
2018-05-27 18:07:53 +02:00
Niels Lohmann
481ace65c4
🔨 only calculate array index string when needed #1098
2018-05-27 12:04:22 +02:00
Niels Lohmann
90eb0a91e0
⚡ keys are now returned as const reference #1098
2018-05-26 13:26:40 +02:00
Niels Lohmann
e94862a649
🚑 fixed error in callback logic
2018-05-06 19:00:49 +02:00
Niels Lohmann
ae213721b1
🔨 removed unget function for wstring parsers
2018-05-06 14:05:29 +02:00
Niels Lohmann
5ff2abb90d
Merge branch 'develop' into feature/sax2
2018-05-06 13:29:23 +02:00
Niels Lohmann
8d8f890771
💩 first try on #1045
2018-04-10 08:29:07 +02:00
Niels Lohmann
cf91b4f2bb
Merge branch 'develop' into feature/wstring
2018-04-08 11:36:58 +02:00
Niels Lohmann
e1ea8369ad
Merge branch 'develop' into feature/sax2
2018-04-08 09:31:59 +02:00
Niels Lohmann
1e08654f99
🔨 cleanup
2018-04-02 22:25:17 +02:00
Niels Lohmann
aa89c5e048
🔨 removing unget_character() function from input adapters #834
2018-04-02 21:10:48 +02:00
Niels Lohmann
16c5bfeaad
👌 fixed compiler warnings #1031
2018-04-02 13:01:56 +02:00
Niels Lohmann
eb06d0531a
🚧 added input adapter for wide strings #1031
2018-04-01 19:12:36 +02:00
Niels Lohmann
ba6edd5634
🔨 cleanup
2018-03-30 00:38:18 +02:00
Niels Lohmann
850671b9f1
🔨 using a vector<bool> for the parser hierarchy
2018-03-29 18:45:43 +02:00
Niels Lohmann
5f723bbec6
🔨 realized callback parser wirh SAX interface #971
2018-03-28 23:39:39 +02:00
Niels Lohmann
896a9db461
🔨 improved code #1021
2018-03-28 19:37:21 +02:00
Niels Lohmann
a9baab76c2
🚑 fix for #1021
2018-03-28 18:20:55 +02:00
Niels Lohmann
4f6b2b6429
🔨 changed SAX interface
2018-03-21 20:12:06 +01:00
Niels Lohmann
9e1abb4842
✅ improved coverage
2018-03-20 22:39:08 +01:00
Niels Lohmann
99ecca55c4
✅ improved test coverage
2018-03-20 18:49:10 +01:00
Niels Lohmann
9e07e9b4ec
✨ implemented non-throwing binary reader
2018-03-19 22:48:13 +01:00
Niels Lohmann
a271ee5f16
♻️ proper use of SAX parser for binary formats
2018-03-18 23:00:45 +01:00
Niels Lohmann
943d641054
🔨 some refactoring
2018-03-18 16:07:21 +01:00
Niels Lohmann
22929fe189
🚧 started a SAX/DOM/callback parser
2018-03-18 15:13:53 +01:00
Niels Lohmann
375b05a17d
🔨 cleanup
2018-03-17 23:31:18 +01:00
Niels Lohmann
606a25195f
✅ improved test coverage
2018-03-17 19:15:59 +01:00
Niels Lohmann
c87ffad45c
♻️ implemented a non-recursive parser
2018-03-17 14:46:50 +01:00
Guillaume Racicot
8165707990
basic_json now supports getting many type of strings
2018-03-15 15:35:00 -04:00
Niels Lohmann
282bafae4f
🔨 fixed compilation error
2018-03-14 07:18:42 +01:00
Niels Lohmann
abac6a0e84
Merge branch 'develop' into feature/sax2
2018-03-13 23:58:17 +01:00
Niels Lohmann
8557151d90
♻️ adjusting lexer/parser in symmetry to #1006
2018-03-12 19:15:11 +01:00
Niels Lohmann
3d4f6a2940
🔨 cleaner exception interface
2018-03-11 22:47:25 +01:00
Niels Lohmann
ad47b0fbde
♻️ refactored binary readers to use a SAX parser
2018-03-11 18:47:38 +01:00
Vitaliy Manushkin
830f3e5290
forward alternative string class from output_adapter to output_string_adapter
2018-03-10 23:58:16 +03: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
149d2fd09c
💚 improved test coverage
2018-03-10 11:24:00 +01:00
Niels Lohmann
35e43df625
Merge branch 'develop' into feature/sax2
2018-03-09 21:56:30 +01:00
Niels Lohmann
aa8fc2a41c
🚑 hopefully fixed the memory leak
2018-03-08 17:11:15 +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
8b379948d0
🔥 replaced acceptor with SAX parser
2018-03-07 22:40:48 +01:00
Niels Lohmann
303a0c5843
Merge branch 'develop' into feature/sax2
2018-03-07 22:26:01 +01:00
Niels Lohmann
d2d65bb25b
♻️ refined SFINAE to fix some warnings
2018-03-07 22:01:44 +01:00
Niels Lohmann
5beab80553
🔨 using the SAX-DOM parser
2018-03-06 18:17:07 +01:00
Niels Lohmann
faf2546a15
🔨 simplified SAX-DOM parser
2018-03-06 07:19:05 +01:00
Niels Lohmann
5b9d03cfdb
🔨 added SAX-DOM-Parser
2018-03-05 21:06:00 +01:00
Niels Lohmann
9d27429527
🔨 added error messages to SAX interface
2018-03-05 16:46:35 +01: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
8d6b3d44d6
👌 fixed some compiler warnings
2018-02-25 18:35:16 +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
Théo DELRIEU
01d6118828
Fix constraints on from_json(CompatibleArrayType)
...
Fixes #924
2018-02-12 15:37:33 +01:00
Niels Lohmann
33a9b00ce6
🐛 fix for #962
...
Added out_of_range exception for UBJSON containers with sizes that exceed the target container's max_size.
2018-02-06 22:38:53 +01:00
Niels Lohmann
8b457ace25
🐛 fixing CBOR's indefinity length strings #961
...
Beside the fix discussed in #961 , we also had to re-adjust a test case. It seems that it was failing before, and I "fixed" it to work with the broken implementation...
2018-02-06 20:43:03 +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