Commit graph

267 commits

Author SHA1 Message Date
Andreas Schwab bb22b1003f Do proper endian conversions
This fixes all testsuite failures on big endian hosts.
2019-02-25 12:09:13 +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 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 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
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
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
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
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 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 4e765596f7
🔨 small improvements 2018-10-27 18:31:03 +02:00
Niels Lohmann 19647e083c
🚨 fixed compiler warnings 2018-10-25 14:27:55 +02:00
Niels Lohmann 1968e5c793
🎨 clean up binary formats 2018-10-24 23:39:30 +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
Niels Lohmann dbb0b63187
improved error messages for binary formats #1288
This commit is the equivalent of #1282 for CBOR, MessagePack, and UBJSON.
2018-10-17 12:15:58 +02:00
Julian Becker 5bccacda30 BSON: throw json.exception.out_of_range.407 in case a value of type std::uint64_t is serialized to BSON. Also, added a missing EOF-check to binary_reader. 2018-10-16 19:13:07 +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 74a31075e3
improved parse error messages 2018-10-07 22:39:17 +02:00
Niels Lohmann 6e49d9f5ff
🚑 fixed compilation error 2018-10-07 21:34:40 +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
Niels Lohmann 6d09cdec34
🐛 fixed a bug in the unget function 2018-10-07 16:48:45 +02:00
Niels Lohmann 011b15dd08
added line positions to error messages
This is a follow-up to #1210.
2018-10-07 12:27:24 +02:00
Julian Becker 81f4b34e06 BSON: Improved documentation and error handling/reporting 2018-10-07 09:57:55 +02:00
Niels Lohmann fa722d5ac3
🚨 fixed another linter warning 2018-10-06 16:26:47 +02:00
Niels Lohmann ec95438a59
🚨 fixed some linter warnings 2018-10-06 13:49:02 +02:00
Niels Lohmann bb55885215
💄 cleaned code 2018-10-04 20:42:19 +02:00
Antonio Borondo b6fdad9acd Remove anonymous namespace 2018-10-03 13:51:49 +01:00
Antonio Borondo 7c385a4844 Fix error: 'wide_string_input_helper' was not declared in this scope 2018-10-03 12:41:34 +01:00
Antonio Borondo 9ba3f79667 Fix error: explicit specialization in non-namespace scope 2018-10-03 12:26:24 +01:00
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
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
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 5ce7d6bdd7 BSON: support objects with objects as members 2018-09-15 13:03:42 +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 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
Niels Lohmann be2065dce9
🚨 fixing a MinGW warning #1192 2018-08-14 22:11:47 +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
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 3cdc4d784b
📝 added documentation 2018-05-27 18:07:53 +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 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 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
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
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 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
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
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