Commit graph

909 commits

Author SHA1 Message Date
Niels Lohmann
1ed510c232 Merge branch 'develop' into feature/filenotfound 2016-11-25 17:39:24 +01:00
Niels Lohmann
f194db9aa6 added assertion for warning from #368 2016-11-24 22:07:35 +01:00
Niels Lohmann
dfc49e7afe 🐛 fixed a bug if parser was called with a stream at EOF (#367) 2016-11-24 21:45:10 +01:00
Niels Lohmann
4bb41d065b 🐛 parsing erroneous files yields an exception (#366) 2016-11-23 16:57:01 +01:00
Niels
6cc2d58d69 🐛 hopefully fixing the crashes on Linux (#365) 2016-11-22 20:13:47 +01:00
Niels
f620d74919 added performance fixes (#365) 2016-11-22 07:26:11 +01:00
Niels
abce5c25bb 📝 cleaned comments and updated README 2016-11-21 23:38:17 +01:00
Niels
43dbe02d5b 🐛 fixing #359 2016-11-21 21:53:10 +01:00
Niels
1be73b903e proposal for emplace/emplace_back (#349) 2016-11-11 19:29:14 +01:00
Niels
543745a10e starting to integrate MessagePack (#358) 2016-11-11 17:11:13 +01:00
Niels
9ca00e4880 readded missing header 2016-11-03 07:27:32 +01:00
Niels
e385417047 documented and cleaned up headers (#314) 2016-11-02 21:27:19 +01:00
Niels
700977d73e version bump 2016-11-02 20:52:15 +01:00
Niels
3716a2fbe8 Merge branch 'develop' into feature/jsontestsuite 2016-11-02 17:03:12 +01:00
Niels
737d43724f Merge branch 'feature/issue329' into develop 2016-11-02 16:59:23 +01:00
Niels
59c8343851 cleanup 2016-11-02 15:44:46 +01:00
Niels
94c16b2c31 fixed coverage 2016-11-01 17:01:04 +01:00
Niels
8d1e65f297 evaluated i-tests (#344) 2016-10-30 16:07:17 +01:00
Niels
a8136c578a fixed BOM handling #344 2016-10-29 21:08:30 +02:00
Niels
b820bb3b1f fixed a lot of unicode errors (#344)
BOMs currently yield an error.
2016-10-29 19:35:17 +02:00
Niels
42ea4fb751 fixed a bug for short input files (#344)
For input files with less than 5 bytes, the parser had a bug so that
refilling the input buffer led to erasing it.
2016-10-29 13:32:36 +02:00
Niels
79d9fdc016 user-defined string literals exploit string length (#340) 2016-10-22 18:57:58 +02:00
Niels
606098f45d release 2.0.6 2016-10-15 16:47:45 +02:00
Niels
d91067220f added missing overflow check for #329 2016-10-13 21:00:48 +02:00
Niels
67b9f1936d cleanup after closing #324 2016-10-12 22:05:45 +02:00
Niels Lohmann
bb9d87ad55 Merge pull request #324 from vpetrigo/has_mapped_improve
make has_mapped_type struct friendly
2016-10-12 21:59:56 +02:00
Niels
d3e7f9da67 code cleanup for #323 2016-10-10 20:38:50 +02:00
Niels
97280bbcfc added missing header 2016-10-09 16:32:01 +02:00
Vladimir Petrigo
e9fde3e116 make has_mapped_type struct friendly 2016-10-08 16:50:23 +03:00
Niels
2fa8ea0f74 started fixing #323 2016-10-08 14:27:28 +02:00
Niels
b6550b35c3 fix after #313 2016-10-04 18:20:36 +02:00
Stefan Codrescu
be61091401 trivial documentation fix 2016-09-16 18:15:36 -06:00
Niels
3d104f1d43 version bump 2016-09-14 23:06:39 +02:00
Niels
6bbcdc1ec5 fixes #310 2016-09-14 22:48:12 +02:00
Niels
768d66560e version bump 2016-09-11 23:36:59 +02:00
Niels
f922426ec3 fixed #304 2016-09-11 22:40:51 +02:00
Niels
2daab5a4c2 fixed #306 2016-09-11 22:30:08 +02:00
Niels
df9fd6237e release 2.0.3 2016-08-31 21:27:23 +02:00
Niels
ae7aaed4ac Merge branch 'develop' into feature/iterator_range_parsing 2016-08-31 18:07:18 +02:00
Niels
442058f8ed interface cleanup 2016-08-31 17:07:35 +02:00
Niels
afba1d3fcb forgot to run re2c 2016-08-30 23:51:14 +02:00
Niels
941714c99c template changes did not work with MSVC 2016-08-30 23:49:06 +02:00
Niels
a485aa8d27 cleanup and improvement of branch coverage 2016-08-30 23:44:15 +02:00
Niels
6e6e1c9b1f implemented idea from #290 2016-08-30 18:26:07 +02:00
Niels
f76f9efe58 Merge branch 'develop' into feature/iterator_range_parsing 2016-08-30 18:20:13 +02:00
Niels
29c5f32d42 fixed performance degradation (#272) 2016-08-29 22:36:33 +02:00
Niels
04c6c886eb another experiment 2016-08-24 21:02:33 +02:00
Niels Lohmann
8b833c452a experiment: changed order of parse functions 2016-08-24 07:12:56 +02:00
Niels
1d66ab9f7a fixed lexer issue which required null byte at the end of contiguous storage containers #290 2016-08-23 22:38:05 +02:00
Niels
a79d634ccb integrated proposals for #290 2016-08-22 21:40:07 +02:00
Niels
cda84ba323 Merge branch 'develop' into feature/iterator_range_parsing 2016-08-21 23:15:27 +02:00
Niels
94331a355d removed LCOV_EXCL_LINE 2016-08-21 21:50:13 +02:00
Niels
b4571360df more on #290 2016-08-21 12:35:40 +02:00
Niels
eef8059003 allowing parsing from contiguous containers 2016-08-20 20:29:33 +02:00
Niels
6f3554f040 Merge branch 'develop' into feature/iterator_range_parsing 2016-08-20 18:51:11 +02:00
Niels
039cedaf8e changes to address #295 2016-08-17 23:14:28 +02:00
Niels
5e67f7af01 added a first version of a parser for #290 2016-08-15 22:44:14 +02:00
Niels
f791c5fd2e Merge branch 'develop' into feature/iterator_range_parsing 2016-08-15 21:46:02 +02:00
Niels
ca80a71c28 added notes from the CII Best Practices badge 2016-08-15 21:45:49 +02:00
Niels
dfc2c1abe5 added assertion for contiguous memory 2016-08-14 23:38:20 +02:00
Niels
92ee1d56eb cleanup 2016-08-14 21:59:41 +02:00
Niels
4871e39415 spell fix 2016-08-14 17:52:21 +02:00
Niels
01386b3977 cleanup 2016-08-14 17:23:15 +02:00
Niels
b76f5506d7 added a parser for continguous containers 2016-08-14 14:18:25 +02:00
Niels
03de590372 improved documentation for #289 2016-08-11 20:52:48 +02:00
Niels
a05df038cd prepared release 2016-07-31 13:37:04 +02:00
Niels
9e51c9041e replaced individual assertions by a class invariant function 2016-07-30 18:02:41 +02:00
Niels
891918a30f cleanup and documentation 2016-07-30 16:12:10 +02:00
Niels
5405ae8601 added default value 2016-07-30 10:50:53 +02:00
Niels
b145e0c404 more cleanup 2016-07-29 23:47:16 +02:00
Niels
b2b68a0fa1 header + cleanup 2016-07-29 22:24:47 +02:00
Niels
161c74a92e some cleanup 2016-07-28 21:19:56 +02:00
Niels
6297631e22 reverted breaking changes 2016-07-27 21:40:15 +02:00
Niels
a7f8c47f68 cleaned up code
- removed unnecessary assertions
- simplified simple if/return patterns
2016-07-27 21:29:55 +02:00
Niels
a01ec918ac minor changes 2016-07-25 16:21:15 +02:00
Niels
d08e013dd0 improved documentation 2016-07-25 16:06:13 +02:00
Niels
75dbbc55cf started to implement #283 2016-07-23 09:59:09 +02:00
Niels
ddfe86cc49 fixed a bug that was found in the discussion of #274 2016-07-22 21:40:58 +02:00
Niels
51a3829680 reverted change to constexpr get_ref (does not work with GCC and MSVC) 2016-07-22 15:53:38 +02:00
Niels
4e7501e59a minor changes
- fixed a bug that did not discard strings with control characters
between 0x10 and 0x1f
- added termination proofs for two important loops
- made get_ref() constexpr
2016-07-22 15:34:45 +02:00
Niels
1286d35767 make sure precision is reset on output streams during serialization 2016-07-20 20:07:45 +02:00
Niels
0f834056bb removed unused header 2016-07-19 22:17:43 +02:00
Niels
2478be807c avoid recursion in the scanner 2016-07-19 22:10:27 +02:00
Niels
7f4dd5d608 added header for int64_t and uint64_t (fixes #282) 2016-07-15 19:44:19 +02:00
Niels
71d20db4fc Merge branch 'feature/improved_documentation' into develop
- improved documentation
2016-07-01 18:02:37 +02:00
Niels
c6d45c30d5 Merge branch 'feature/parser_performance' into develop
- improved parser performance by avoiding a copy of the result value
2016-07-01 17:44:27 +02:00
Niels
8f9f561742 Merge branch 'feature/detect_unsupported_compilers' into develop
- added error macros to exclude unsupported compilers
2016-07-01 17:42:36 +02:00
Niels
513fac589b Merge branch 'feature/algorithm_loops' into develop
- replaces some raw loops by std algorithms
- used std::advance where possible
2016-07-01 17:39:25 +02:00
Niels
bd7cd330cd fixed type_name() signature 2016-07-01 17:26:09 +02:00
Niels
05ddfaf5cf Merge branch 'develop' into feature/improved_documentation 2016-07-01 17:01:02 +02:00
Niels
6e1347e68c fixes #270 2016-07-01 16:58:50 +02:00
Niels
26cab42c38 some minor improvements 2016-07-01 16:52:05 +02:00
Niels
a5262c18e2 replaced a copy by a move to increase performance by 16-25% 2016-06-30 12:43:06 +02:00
dtoma
5c129c8981 Update hexify to use array lookup instead of ternary (#270) 2016-06-29 19:28:56 +08:00
Niels
52cbda8048 using std::advance where possible 2016-06-29 12:47:29 +02:00
Niels
a0609b2da3 fixed coverage bug 2016-06-29 09:53:48 +02:00
Niels
924f78119b math... 2016-06-29 09:34:14 +02:00
Niels
7cb8ee42d5 wrong GCC version 2016-06-29 09:22:28 +02:00
Niels
d456dec320 overlapping defines 2016-06-29 09:16:18 +02:00
Niels
fc7f4b8fba replace some raw loops with algorithms 2016-06-28 22:49:05 +02:00
Niels
dc479b3f9d check for unsupported compilers 2016-06-28 22:09:22 +02:00
Niels
d2475f9010 bumped version number 2016-06-28 21:44:03 +02:00
Niels
7214243d89 reset locale (for #272) 2016-06-28 19:18:23 +02:00
Niels
420659f187 addressing #272 2016-06-28 10:42:17 +02:00
Niels
6542ae5766 fixed re2c warnings 2016-06-23 22:49:48 +02:00
Niels
04a80a8f60 Merge branch 'develop' into feature/undo-number-roundtrip 2016-06-23 05:57:41 +02:00
Niels
59e67e768f fix for previous commit 2016-06-22 20:09:06 +02:00
Niels
3f97a5d5ad a conceptual quick fix for #269 2016-06-22 20:05:44 +02:00
Niels
ad7a419a03 removed roundtripping of floats (#230) 2016-06-19 17:13:13 +02:00
Niels
4e31a0e852 minor doc changes 2016-06-19 16:17:53 +02:00
Tom Needham
fb90388af5 Fix Issue #265 2016-06-14 09:59:50 +01:00
Niels
494cc15650 Merge branch 'develop' into feature/issue260 2016-06-07 12:13:03 +02:00
Niels
9e2dfd19e8 minor cleanup 2016-06-07 00:20:53 +02:00
Niels
b508d1f1c4 fix proposal for #260 2016-06-06 18:50:39 +02:00
Niels
0a393b8374 indentation cleanup 2016-05-12 07:34:36 +02:00
Niels
0e0ecb2c14 fixed a warning and update ChangeLog 2016-05-12 00:32:18 +02:00
Niels
f1e61896fb fixed a shadow error 2016-05-11 18:43:12 +02:00
Niels
91aa4c9def Merge branch 'develop' into feature/issue239 2016-05-11 17:23:01 +02:00
Niels
9ecf83f630 working on #235 2016-05-08 20:28:20 +02:00
Niels
6d8e00ade8 another try to remove a warning 2016-05-08 17:17:17 +02:00
Niels
ac3036dc0f Merge branch 'develop' into feature/issue239 2016-05-08 17:07:08 +02:00
Niels
85a30813c8 removed unnecessary code (numbers must not begin with "+") 2016-05-07 20:22:58 +02:00
Niels
c04275966f improved test coverage 2016-05-07 18:33:43 +02:00
Niels
9073b2ca39 hopefully removed some warnings 2016-04-30 16:22:27 +02:00
Niels
1d3b4dd158 added test cases 2016-04-30 00:03:47 +02:00
Niels
62f81a60d7 hopefully fixed a warning 2016-04-29 21:23:13 +02:00
Niels
5e0bf75d60 cleanup, test, and diff 2016-04-25 23:17:04 +02:00
Niels
96cfe7463f fixed some warnings 2016-04-24 19:09:12 +02:00
Niels
8d4cf5ef8d oops 2016-04-24 19:04:10 +02:00
Niels
fb54e212b6 clean up and added tests 2016-04-24 19:03:33 +02:00
Niels
09e9f6dcd4 implemented "move" 2016-04-24 17:43:27 +02:00
Niels
855cf2307b extended "add" to cope with arrays 2016-04-24 16:51:06 +02:00
Niels
397ada22d3 implemented remove 2016-04-20 16:52:00 +02:00
Niels
fa03cf0c63 replace and copy 2016-04-20 15:41:33 +02:00
Niels
70fc5835cb started implementing JSON Patch (RFC 6902) 2016-04-18 22:41:36 +02:00
Niels
3ca1bfdd9d made a function static 2016-04-17 23:41:52 +02:00
Niels
08c97df420 added examples 2016-04-17 23:18:07 +02:00
Niels
1dee40a969 fixed test case 2016-04-17 22:34:39 +02:00
Niels
6268287940 improved documentation and test coverage 2016-04-17 22:08:21 +02:00
Niels
0835eb293f improved RFC compliance and code coverage 2016-04-17 18:54:54 +02:00
Niels
f883a04c87 more documentation 2016-04-17 18:18:49 +02:00
Niels
40e899a819 cleanup and documentation 2016-04-17 17:39:35 +02:00
Niels
f834965b44 implemented deflatten function 2016-04-16 20:45:40 +02:00
Niels
007359675b added a flatten function 2016-04-16 16:39:20 +02:00
Niels
3401954f5b cleaned up API 2016-04-16 14:02:14 +02:00
Niels
3a3e064287 Merge branch 'develop' into feature/json-pointer 2016-04-16 12:19:31 +02:00
Niels
76a5a776eb cleanup after #234 2016-04-16 12:19:10 +02:00
Niels
94af8abdff overworked reference token parsing 2016-04-13 23:23:54 +02:00
Niels
2cb925c186 adding support for escaped reference tokens 2016-04-13 17:41:19 +02:00
Robert Marki
2197f5f0a6 Make the indirection and dereference operators of iterator const
fixes #233
2016-04-13 13:49:53 +02:00
Niels
726051e9b7 very first draft of a JSON pointer API 2016-04-11 23:17:03 +02:00
Niels
0b60d970e9 make code independent of concrete locale 2016-04-05 22:12:12 +02:00
Niels
31bccc83b9 fixed locale problems 2016-04-05 21:55:51 +02:00
Niels
43ee70cef8 revert changes to master 2016-04-05 20:47:47 +02:00
Niels
44a8e9bf35 locale-independent dump 2016-04-03 16:33:30 +02:00
Niels
9c233be567 merged #201 2016-04-03 14:08:38 +02:00
Niels
1baa5a7350 fixed #225 2016-03-30 20:18:34 +02:00
Niels
0951a1f94c Merge pull request #222 from Teemperor/fixAndroid
Added missing cerrno header to fix ERANGE compile error on android
2016-03-30 20:12:55 +02:00
Niels
54d3cab568 Merge pull request #226 from lv-zheng/fix_int64
Use namespace std for int64_t and uint64_t
2016-03-29 10:35:24 +02:00
Lv Zheng
3e76e61b9c Use namespace std for int64_t and uint64_t
According to the c++11 standard, the declarations are within namespace
scope of the namespace `std'. Add `std::' to avoid unnecessary
requirement of implementations.
2016-03-28 18:11:12 +08:00
Niels
2f63e5fb45 added copyright information to files to make release more self-contained 2016-03-25 17:41:36 +01:00
Raphael Isemann
fbc25b080b Added missing cerrno header to fix ERANGE c-error on android 2016-03-10 08:46:26 +01:00
Niels
49dc2dff68 fixed error when compiled with Clang 2016-02-14 16:58:24 +01:00
Niels
836fdfedf2 fixed an error in MSVC 2016-02-14 16:53:32 +01:00
Niels
a69b1a6f0b added noexcept and constexpr 2016-02-14 16:42:48 +01:00
Niels
a831c787df try to replace std::ptrdiff_t with auto (for #204) 2016-02-10 21:19:31 +01:00
Niels
4cc4b26dd2 try to replace ssize_t occurrences with std::ptrdiff_t (for #204) 2016-02-10 21:09:52 +01:00
Niels
fdfb39d949 improved documentation 2016-02-07 14:55:29 +01:00
Niels
3b776c08c7 clarified documentation 2016-02-07 10:45:52 +01:00
Niels
8b1a777d36 reverted change wrt. Erasable concept 2016-02-05 22:37:28 +01:00
Niels
ae5bd307a2 improved documentation 2016-02-05 22:30:25 +01:00
Niels
2c720b26ab added a constructor from an input stream 2016-02-05 19:24:42 +01:00
Niels
6aa881988d improved documentation 2016-01-31 13:05:39 +01:00
Niels
22127a4b85 moved documentation to index markdown file 2016-01-30 22:05:01 +01:00
Niels
36719fdb18 using re2c 0.16 (minimized automaton) 2016-01-30 20:33:31 +01:00
Niels
2224435f9b cleanup after #200 2016-01-30 13:36:15 +01:00
Trevor Welsby
561accb068 Fixed issue #199 2016-01-30 12:41:12 +10:00
Niels
2468631dc9 overworked examples 2016-01-26 20:07:03 +01:00
Niels
707732a53e clean up after #193 2016-01-26 19:50:49 +01:00
Niels
e46cc6327f Merge pull request #193 from twelsby/issue178
Issue #178 - Extending support to full uint64_t/int64_t range and unsigned type (updated)
2016-01-26 19:40:16 +01:00
Niels
11ae1d0f09 cleanup after #196 2016-01-26 19:13:03 +01:00
Trevor Welsby
a4a88b1b7d Issue #195 - update Travis to Trusty due to gcc/clang strtod() bug 2016-01-26 08:36:18 +10:00
Niels
c09d03fba7 fixed documentation 2016-01-24 22:43:00 +01:00
Niels
31093694ce fixed version number 2016-01-24 22:21:27 +01:00
Niels
aee99b362d some editing 2016-01-24 19:24:06 +01:00
Trevor Welsby
0f28c69499 Merge upstream commits and resolve conflicts 2016-01-25 02:48:38 +10:00
Trevor Welsby
281492c581 Merge upstream commits and resolve conflicts 2016-01-25 02:42:20 +10:00
Niels
54a4139157 cleanup after #191 2016-01-24 17:33:46 +01:00
Trevor Welsby
4620960b72 Disable problematic test for GCC/clang, remove debug dump from unit.cpp 2016-01-25 02:22:46 +10:00
Niels
ad5d1dabb2 Merge pull request #191 from twelsby/issue186
Fixed Issue #186 - add strto(f|d|ld) overload wrappers, "-0.0" special case and FP trailing zero
2016-01-24 17:21:22 +01:00
Trevor Welsby
81b7079255 Kill unused argument warnings in GCC/clang 2016-01-25 02:13:39 +10:00
Trevor Welsby
421affd06e Merge upstream commits and resolve conflicts 2016-01-25 02:01:01 +10:00
Niels
3245a0dc06 fixed #194 2016-01-24 16:42:13 +01:00
Trevor Welsby
12ef668335 Merge upstream commits and resolve conflicts 2016-01-25 01:15:13 +10:00
Trevor Welsby
d7ef2ccffd Issue #178 - fully support int64_t/uint64_t numbers, add unsigned type 2016-01-25 01:04:37 +10:00
Niels
d7d1e55648 applied include-what-you-use 2016-01-24 13:28:08 +01:00
Niels
e00b00fea8 Merge pull request #190 from twelsby/issue185
fixed #185 - remove approx() and use #pragma to kill warnings
2016-01-24 12:55:40 +01:00
Niels
600ad330c5 cleanup after PR #189 2016-01-24 11:00:54 +01:00
Trevor Welsby
c1f5f0451d Add workaround for gcc < 5 not supporting std::defaultfloat 2016-01-24 17:54:50 +10:00
Trevor Welsby
bd8db5d40e Remove VS induced tabs 2016-01-24 17:15:44 +10:00
Trevor Welsby
a1c6f16bd3 Fix Issue #186 - add overload wrappers for strto(f|d|ld) 2016-01-24 17:00:11 +10:00
Trevor Welsby
3a1403409f Issue #185 - remove approx() and use #pragma to kill warnings 2016-01-23 17:45:30 +10:00
Trevor Welsby
7e3245786c Fixed issue #171 - added extra operator[] template overloads 2016-01-23 17:03:45 +10:00
Trevor Welsby
9de14a4861 Fixed issue #167 - removed operator ValueType() condition for VS2015 2016-01-23 16:34:15 +10:00
Niels
a04bd4f851 cleanup after #184 2016-01-20 21:14:58 +01:00
dariomt
db3c7fdb96 added missing template keyword (required by clang) 2016-01-19 16:20:27 +01:00
dariomt
e2f0e8b945 added missing typename (required by clang/gcc) 2016-01-19 14:56:07 +01:00
dariomt
4d079d135e replicate code changes into re2c file 2016-01-18 11:32:24 +01:00
dariomt
e1645a09e9 Merge branch 'master' of https://github.com/nlohmann/json 2016-01-18 10:08:58 +01:00
Niels
57e018483a it's 2016 already... 2016-01-13 20:19:05 +01:00
Niels
4511145d3d removing unused catch variables (fixes #180) 2016-01-13 19:19:35 +01:00
Niels
151d43f63e fixing numerous typos (fixes #179) 2016-01-13 19:14:33 +01:00
Niels
4a452f11f9 added assertions (#168) 2016-01-03 17:05:27 +01:00
Niels
9b07504e23 fix for #166 2016-01-01 18:33:58 +01:00
Niels
3905406f9c removed an unnecessary cast (fixed #162) 2015-12-29 12:30:05 +01:00
Niels
cb5581392a preparing 1.0.0 release 2015-12-28 14:51:57 +01:00
Niels
80cdecaadd fixed a cppcheck warning 2015-12-27 18:07:21 +01:00
Niels
d80bbffc78 minor cleanup 2015-12-27 17:58:36 +01:00
Niels
7371c71d2a using CHECK_THROWS_WITH to check exceptions (#160) 2015-12-27 15:30:30 +01:00
Niels
d6b8830e03 more work on exceptions (#160) 2015-12-26 13:17:32 +01:00
Niels
dc8ab92552 more tests for exceptions (#160) 2015-12-25 13:04:40 +01:00
Niels
76e5e29eda overworked exceptions and tests (#160) 2015-12-25 11:46:18 +01:00
Niels
8620583cf9 cleanup 2015-12-23 12:05:57 +01:00
Niels
fcbd984e0f cleanup 2015-12-23 08:44:34 +01:00
Niels
70493a10d1 iterator_wrapper for const objects (#83) 2015-12-23 08:21:29 +01:00
Niels
00f9296db5 some cleanup for #83 2015-12-22 18:07:51 +01:00
Niels
67c2d90a21 working on #160 2015-12-22 13:27:40 +01:00
Niels
4351698c83 re-adding const version operator[] (#135, #159)
It was a good idea to implement a const version of operator[] it in the
first place. I was a pity that this implementation was flawed. It was a
mistake to remove the const version completely. This commit
re-introduces the const version. My apologies for all the inconvenience.
2015-12-21 08:42:42 +01:00
Niels
457bfc2401 work on #144 2015-12-20 15:30:07 +01:00
Niels
1adb9d62dd fixed #156 2015-12-17 16:52:38 +01:00
Niels
ac4d4a0f66 fixed compilation error and fixed shadow warnings 2015-12-17 16:22:15 +01:00
Niels
07033f67a5 some cleanup and more documentation 2015-12-17 15:49:33 +01:00
Niels
6ac89df54d fix for #127 2015-12-16 12:09:59 +01:00
Niels
a615598b14 cleanup documentation; started added versions 2015-12-15 19:42:32 +01:00
Niels
1df5d726d9 undid the fix for #136 2015-12-15 18:34:07 +01:00
Niels
cd04a7d3e9 fix for #133
added value() function to get object value at given key or a default
value if key does not exist
2015-12-15 08:38:54 +01:00
Niels
2ba901bbf6 cleanup 2015-12-14 21:23:21 +01:00
Niels
5bc1b65676 clean up (for #154) 2015-12-14 16:58:49 +01:00
Niels
258f04c561 fixed #154 (no more warnings for incomplete switches) 2015-12-14 16:32:37 +01:00
Niels
a70a7a8001 fixed #135: operator[] now only works on nonconst JSON objects 2015-12-13 11:26:55 +01:00
Niels
9da8770f3a ignore UTF-8 byte order mark (fixes #152) 2015-12-07 22:27:53 +01:00
Niels
22bc022745 added change from #140 2015-12-07 21:05:21 +01:00
Niels
72476b4226 cleanup after #153 2015-12-07 20:38:16 +01:00
Niels
f36f316fc7 Merge pull request #153 from whackashoe/remove_sprintf
Replace sprintf with hex function, this fixes #149
2015-12-07 20:35:43 +01:00
Niels
6f8e36ac3d fixes #136 2015-12-06 17:33:52 +01:00
Jett
14d8a91f73 Replace sprintf with hex function, this fixes #149 2015-11-19 00:30:00 -06:00
Robert Marki
ec7a1d8347 Fix character skipping after a surrogate pair
In a string the first character following a surrogate pair is skipped by the
lexer, but the rest of the string is parsed as usual.
2015-11-13 13:13:46 +01:00
Niels
3948630374 Merge pull request #130 from dariomt/patch-1
removed stream operator for iterator, resolution for #125
2015-10-23 18:42:10 +02:00
Niels
8f379ef3eb Merge pull request #137 from dariomt/patch-3
Detect correctly pointer-to-const
2015-10-20 22:31:15 +02:00
dariomt
652e1caa76 Apply same change to the re2c file 2015-10-19 12:34:10 +02:00
dariomt
8162a6e3a3 Apply same change to the re2c file 2015-10-19 12:26:38 +02:00
Niels
746c1a7142 cleanup 2015-10-17 12:51:59 +02:00
dariomt
5198e1f2e4 removed const in get_ptr() by accident 2015-10-16 15:45:47 +02:00
dariomt
bd2783f45c Added get_ref()
Same as get_ptr() but for references.
If the type is incompatible it throws (get_ptr() returns null).
Implemented in terms of get_ptr().
2015-10-16 15:23:57 +02:00
Dario Menendez
8f97e99feb Merge remote-tracking branch 'origin/patch-3' 2015-10-16 11:23:19 +02:00
dariomt
b342e1207c Detect correctly pointer-to-const
The intention of the current code is to detect a pointer-to-const but instead it is detecting a const-pointer. See #134
2015-10-16 11:11:16 +02:00
dariomt
55cbd903e8 removed stream operator for iterator, resolution for #125
It doesn't really make sense to stream an iterator.
Besides, this was causing trouble in MSVC in Debug mode (see #125)
2015-10-07 17:50:53 +02:00
Niels
57de1d602e Cleanup 2015-10-03 13:16:59 +02:00
Niels
2550d29ded Merge pull request #122 from d-frey/patch-1
exception-safe object creation, fixes #118
2015-10-03 12:29:26 +02:00
Niels
589dc2180a Merge pull request #120 from silverweed/patch-1
Overload parse() to accept an rvalue reference
2015-10-03 10:43:16 +02:00
Niels
4eac295211 Merge pull request #115 from whoshuu/patch-1
Use the right variable name in doc string
2015-10-03 10:41:26 +02:00
Niels
b3ff862afc Merge pull request #121 from ColinH/master
Fix small oversight.
2015-10-03 10:39:14 +02:00
Daniel Frey
1c43789682 Remove superfluous inefficiency 2015-09-25 20:08:35 +02:00
Daniel Frey
f7fb405564 exception-safe object creation, fixes #118 2015-09-20 20:06:33 +02:00
Huu Nguyen
2d7f1542b1 Use the right variable name in doc string 2015-09-20 07:27:34 -07:00
silverweed
8fdd20cdda Overload parse() to accept an rvalue reference 2015-09-20 16:15:55 +02:00
Colin Hirsch
c6c37d00d1 Fix small oversight. 2015-09-20 15:04:51 +02:00
Niels
b58a93b8dd merged #111 2015-08-14 14:45:13 +02:00
Niels
6f2da1a39a try to avoid MSVC bug (https://connect.microsoft.com/VisualStudio/feedback/details/797682/c-decltype-of-class-member-access-incompletely-implemented) 2015-08-13 10:24:28 +02:00
Niels
fadccc34eb fixed iterator_wrapper 2015-08-13 10:08:55 +02:00
Niels
2707733920 fixed off-by-one error 2015-08-06 22:53:16 +02:00
Niels
11ae6da6d9 reverted “fix” for issue #107 2015-08-06 22:35:56 +02:00
Niels
2c3259320d addressed locale-issues #107 2015-08-04 18:12:11 +02:00
Niels
e64dc532ab fixed build 2015-08-02 21:35:07 +02:00
Niels
c974e32677 fixed the build 2015-07-30 23:02:55 +02:00
Niels
8eb32084b4 code for #83 (no tests yet) 2015-07-30 21:32:18 +02:00
Niels
a26e44d66e prepare 1.0.0-rc1 2015-07-26 20:44:55 +02:00
Niels
359cf7993f closed #75
minor changes, but the core idea remains the same
2015-07-26 18:41:58 +02:00
Niels
300fba6388 fixed Windows build 2015-07-19 13:33:03 +02:00
Niels
623c03bc49 some cleanup 2015-07-19 12:41:46 +02:00
Niels
5084159048 added changes from #105: MSVC fixes
- additionally, switch off optimization flags to maybe allow build to
complete on AppVeyor
2015-07-16 18:45:19 +02:00
Niels
5c813b614f closes #104 and integrates code from #93
Iterators are now implemented via const_iterators and reverse_iterator
and const_reverse_iterator now share a template class. Thanks a lot!
2015-07-14 21:21:08 +02:00
Niels
1c8d5dc211 added another insert function 2015-07-12 22:47:08 +02:00
Niels
186aefb8f2 added first insert functions 2015-07-12 18:28:23 +02:00
Niels
b2efd50a03 more documentation 2015-07-12 17:08:51 +02:00
Niels
5e1d0f1592 more documentation and some cleanup 2015-07-12 14:49:37 +02:00
Niels
c012b29ae5 worked on #102: more documentation and examples 2015-07-08 16:55:29 +02:00
Niels
19d550c044 new implementation for (const_)reverse_iterator to cope with issue #93 2015-07-07 23:31:43 +02:00
Niels
12d174d424 fixed #100 2015-07-06 23:21:54 +02:00
Niels
e070aed8a7 cleanup 2015-07-06 21:12:50 +02:00
Niels
2bc5d893c8 refactored generic iterator into a new class primitive_iterator_t 2015-07-05 22:22:15 +02:00
Niels
82a6995306 fixed #101 2015-07-01 23:08:54 +02:00
Niels
540c58964d closed #91 2015-06-29 20:53:01 +02:00
Niels
48c4f4d05d more documentation 2015-06-28 19:32:09 +02:00
Niels
7d9cfb1b32 added documentation for erase functions 2015-06-28 15:49:40 +02:00
Niels
862e7000f4 fixed #94 2015-06-28 14:39:52 +02:00
Niels
3f6b10733b addressed static analysis warnings #94 2015-06-28 14:02:47 +02:00
Niels
c58c5aa8c9 fixed #97
- added functions is_structured() and is_primitive()
- updated documentation
- updated test cases
2015-06-27 18:43:11 +02:00
Niels
3ffedea5c4 minor changes 2015-06-25 00:40:16 +02:00
Niels
40312fb07b worked on #91
- implemented `get_ptr` function to return pointer to value member
- overworked `get` function to support pointer types
- added test cases
- added documentation (see
http://nlohmann.github.io/json/classnlohmann_1_1basic__json.html) with
examples
2015-06-24 15:16:32 +02:00
Niels
457572184c more documentation
In this commit, also the semantics for values skipped via the parser
callback has changed. Now, the top-level value is returned as “null”
instead of “discarded”.
2015-06-24 12:15:51 +02:00
Niels
48545f5b18 more documentation 2015-06-22 23:21:49 +02:00
Niels
844bfd39b5 more documentation 2015-06-22 21:44:20 +02:00
Niels
891b8f33c1 more documentation 2015-06-21 22:56:03 +02:00
Niels
c85dbef98f more documentation 2015-06-21 22:42:32 +02:00
Niels
4bb5126502 more documentation 2015-06-21 18:30:08 +02:00
Niels
099030baeb added alias __basic_json 2015-06-21 13:04:03 +02:00
Niels
3e28c5ff8f commit to trigger build 2015-06-21 11:35:54 +02:00
Niels
d818bec6ac more documentation 2015-06-21 11:29:32 +02:00
Niels
c40e85920f more documentation 2015-06-21 09:44:12 +02:00
Niels
bb13c931b3 more documentation 2015-06-21 02:14:01 +02:00
Niels
e63c508172 overworked doxygen 2015-06-21 00:59:33 +02:00
Niels
4019380a8a forgot a header for MSVC 2015-06-20 17:45:52 +02:00
Niels
4fb825dbce fixed compiler warnings 2015-06-20 15:47:37 +02:00
Niels
719cc9e4d7 removed dependent to RTTI 2015-06-20 14:57:08 +02:00
Niels
18cd30d38d minor iterator refactoring (from #88) 2015-06-20 14:29:34 +02:00
Niels
23c904aca8 added fix for ssize_t for MSVC 2015-06-20 14:25:49 +02:00
Niels
dd3ffc1064 fixed issue #93 2015-06-19 08:11:48 +02:00
Niels
51edad3962 fixed #89 without breaking #71 2015-06-15 19:45:25 +02:00
Niels
8e9a711996 closes #90 2015-06-15 16:37:49 +02:00
Niels
2e9a13bd88 added extensive Unicode tests 2015-06-14 23:17:49 +02:00
Niels
6fb829062c some maintenance
- unified used exception types
- removed any camel case names
2015-06-14 19:35:20 +02:00
Niels
bd0cb65b7a fixed more float parsing cases 2015-06-13 12:42:18 +02:00
Niels
7c579f11e5 some cleanup after #87 2015-06-13 10:29:43 +02:00
Niels
a8339894b2 Merge pull request #87 from ahamez/master
Keyword 'inline' is useless when member functions are defined in headers
2015-06-13 10:27:24 +02:00
Alexandre Hamez
a8aced74bc inline is useless when member functions are defined in headers
See https://isocpp.org/wiki/faq/inline-functions#inline-member-fns-more
2015-06-12 10:08:57 +02:00
Niels
7f25511242 change from #86 2015-06-11 18:10:12 +02:00
Alexandre Hamez
41e9e000bf Remove useless typename
Avoid a warning with GCC 4.9:

son.hpp:2361:49: warning: declaration 'struct std::bidirectional_iterator_tag' does not declare anything
         using iterator_category = typename std::bidirectional_iterator_tag;
                                                 ^
2015-06-09 13:31:10 +02:00
Niels
2d26d85c2b some cleanup 2015-06-08 16:35:38 +02:00
Alexandre Hamez
f17733b859 Directly return ostream 2015-06-08 11:39:32 +02:00
Alexandre Hamez
c49d83172f Avoid warning with Xcode's clang 2015-06-08 11:38:52 +02:00
Niels
adc065d328 included fixes for MSVC (see #62)
94de11e, f673c8d, 540b763
2015-06-04 21:02:16 +02:00
Niels
b8d05f72ea fixed float serialization (#81 and #80) 2015-06-04 19:43:29 +02:00
Niels
266399d8e5 fixed MinGW compilation (#81 and #80) 2015-06-04 08:31:13 +02:00
Niels
9dbb4402fb improved performance for dump() 2015-06-03 23:34:10 +02:00
Niels
f5470d47ff made array static constexpr (#79) 2015-06-02 21:27:49 +02:00
Niels
afc7f2388e fixed typo (#74) 2015-06-02 21:24:03 +02:00
Niels
61f0376366 more cleanup 2015-05-10 17:30:41 +02:00
Niels
cb2102a2d2 some pretty-printing 2015-05-10 17:12:36 +02:00
Niels
072dc25521 Merge pull request #72 from aburgh/null-callback
Replace `default_callback` function with `nullptr` and check for null…
2015-05-10 17:10:47 +02:00
Niels
43ededf41f more cleanup 2015-05-10 17:03:50 +02:00
Aaron Burghardt
ef54ace4d2 Replace default_callback function with nullptr and check for null callback function before calling it. This is cleaner and better performing. 2015-05-10 10:32:49 -04:00
Niels
76d3433e6c moved some code to json_value union 2015-05-10 16:30:33 +02:00
Niels
5ed80d308d some parsing performance improvements 2015-05-09 22:49:21 +02:00
Niels
9cdd278f45 overworked code for pull request #71 2015-05-09 15:29:20 +02:00
Niels
aca3f65bbe Merge pull request #71 from likebeta/master
support enum
2015-05-09 15:23:51 +02:00
Niels
2b4e461702 fixed string definition 2015-05-09 15:09:52 +02:00
Niels
1f381d496d overworked coverage 2015-05-09 14:54:33 +02:00
Niels
869035a6c9 added compliance test cases 2015-05-09 13:56:51 +02:00
易思龙
91aee10579 support enum
construct enum type to basic_json (proxy by int type)
```
    enum { t = 0 };
    json  j = json::array();
    j.push_back(t);

    j.push_back(json::object({
         {"game_type", t}
    }));
```
2015-05-09 17:44:10 +08:00
Niels
a8e92a6bfb fixed #68 2015-05-06 20:18:16 +02:00
Niels
17609f244d fixed #70 2015-05-06 19:52:12 +02:00
Niels
1580eee4ed applied #69 to header 2015-05-04 23:31:34 +02:00
Aaron Burghardt
ea3e922a12 Fix performance regression introduced with the parsing callback feature. 2015-05-04 09:08:55 -04:00
Niels
1ac4d673b6 fixed test case 2015-05-03 18:46:26 +02:00
Niels
952cbbc795 manually merged pull request #41 2015-05-03 17:52:13 +02:00
Niels
faae8bb843 some typename fix 2015-04-27 23:09:51 +02:00
Niels
81d3973151 undid changes that broke the build 2015-04-26 21:51:35 +02:00
Niels
f874b5f0f8 clean up
- removed m_final member
- parse_internal now takes a reference to a basic_json object to fill
with data
- header is automatically regenerated if re2c file is changed
2015-04-26 21:43:47 +02:00
Niels
f09df96742 updated README 2015-04-26 15:16:07 +02:00
Niels
7a32bd22e9 Merge pull request #63 from Florianjw/master
Improve the implementations of the comparission-operators
2015-04-26 15:10:32 +02:00
Niels
c7f95cc636 minor change to the parsing of objects/arrays 2015-04-26 15:10:04 +02:00
Florian Weber
4fbff7d140 simplify value_t::operator< by using a lookup-table 2015-04-26 14:55:06 +02:00
Florian Weber
f5e95522aa remove braces around single-return-statement switch-cases 2015-04-26 14:44:56 +02:00
Florian Weber
d2771eb1bb Fix comparission between integers and floats
Until now it depended on the parameter-order whether
integers and floats were compared as integers or floats.

Appart from being not logical, this might even have meant that
the provided “order” was in fact not that. (not sure here, but I
like to be carefull)
2015-04-26 14:39:39 +02:00
Florian Weber
306695dd25 fix typos and improve operator== 2015-04-26 14:31:31 +02:00
Florian Weber
28f64c22a9 simplify operator< 2015-04-26 14:19:56 +02:00
Niels
a372937424 fixed some small issues 2015-04-26 13:37:01 +02:00
Niels
e3ab0bc74a addressing issue #62 2015-04-25 23:10:23 +02:00
Niels
89a8491914 minor changes 2015-04-25 01:25:42 +02:00
Niels
fc58a73523 fix #60 (double escaping) 2015-04-24 22:06:57 +02:00
Niels
2dd94dd943 some simplifications 2015-04-12 17:26:54 +02:00
Niels
f03c6ce458 added missing test cases 2015-04-12 16:57:51 +02:00
Niels
dda8a5c473 adjusted code to documentation; some cleanup 2015-04-12 16:19:21 +02:00
Niels
139ef0e750 implemented front() and back() 2015-04-12 14:14:00 +02:00
Niels
ade49f8b2a constructor for an integer range 2015-04-12 13:15:26 +02:00
Niels
b801adca76 started to implement sequence container 2015-04-12 12:02:30 +02:00
Niels
02f617f083 adjusted code to documentation 2015-04-11 19:26:12 +02:00
Niels
6dceab583c implemented issue #57: erase with iterators 2015-04-11 15:30:19 +02:00
Niels
84195daf28 added erase function for arrays 2015-04-09 18:55:57 +02:00
Niels
1bdb6acb1f overworked type conversion 2015-04-08 22:23:40 +02:00
Niels
0a96116b0c more SFINAE 2015-04-03 16:34:39 +02:00
Niels
ea1046110d using "key_type" where possible 2015-04-03 14:43:44 +02:00
Niels
b747881466 subtle fix for get() function 2015-04-03 14:20:15 +02:00
Niels
5e89cb0acb implemented key()/value() for reverse iterators 2015-03-26 17:06:33 +01:00
Niels
47ea1c10d4 key/value function for iterators (#46)
Currently only support iterator and const_iterator. reverse_iterator
and const_reverse_iterator to be implemented soon.
2015-03-24 19:08:03 +01:00
Niels
0707030bc5 minor changes to pull request #40 2015-03-24 18:05:58 +01:00
Niels
50e06a7bd1 Merge pull request #40 from aburgh/incremental
Parse streams incrementally.
2015-03-24 17:57:40 +01:00
Niels
e3188897f8 more on #48: allowing non-std begin/end functions 2015-03-24 17:39:00 +01:00
Niels
6fc52f3302 fixed #47 (added erase function to remove key form object) 2015-03-24 16:50:55 +01:00
Niels
43417c350b fixed #42 (removed equality comparisons for floats) 2015-03-23 23:03:48 +01:00
Niels
53e3da8071 minor adjustments to pull request #38 2015-03-23 20:27:30 +01:00
Niels
a382a93a8e Merge pull request #38 from wtsi-hgi/feature/small-float-serialization
Feature/small float serialization
2015-03-23 20:15:50 +01:00
Niels
bb2671df11 fixed #43 (adding friendship to allow iterator change) 2015-03-22 19:18:21 +01:00
Niels
f2957dc3bf fixed #45 (added count function for keys in objects) 2015-03-22 19:07:43 +01:00
Niels
cf829ac2e8 fixed deprecated warnings in issue #42 2015-03-22 17:50:43 +01:00
Niels
abc6137001 fixed #48 (using nonmember begin/end) 2015-03-22 17:30:48 +01:00
Aaron Burghardt
396f64a058 Replaced leading tabs with spaces (4 per tab). 2015-03-02 15:25:09 -05:00
Aaron Burghardt
87746280ca Added parse() for streams. 2015-03-01 06:31:33 -05:00
Aaron Burghardt
2855c70c27 Use inplace configuration for yyfill and disable the parameter to yyfill. 2015-03-01 05:55:40 -05:00