Commit graph

533 commits

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