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
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
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
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
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
7f25511242
change from #86
2015-06-11 18:10:12 +02:00
Niels
2d26d85c2b
some cleanup
2015-06-08 16:35:38 +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
43ededf41f
more cleanup
2015-05-10 17:03:50 +02: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
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
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
Joshua C. Randall
7bfcbe2825
Fixes serialization of small floats
...
Now uses std::snprintf() to generate a "%.15g" formatted string
for JSON values of type number_float. 15 decimals digits are
enough to round-trip an IEEE 754 double from string->double->string
and get an identical result.
std::snprintf is called twice. Once to determine the required
buffer size and then again after allocating a buffer of that
size.
Note that the buffer size *could* be hardcoded for better
performance. "%.15g" should result in strings of maximum length
23, plus one character for the terminating null for a buffer size
of 24.
2015-02-28 17:11:46 +00:00
Niels
63c70fa07e
minor changes
2015-02-24 23:19:19 +01:00
Niels
d524e23204
overworked iterators
2015-02-22 17:52:27 +01:00
Niels
bc2e3a798d
a more forgiving array behavior
2015-02-21 13:24:07 +01:00
Niels
afd02eee44
fixed [] operator; added README
2015-02-18 22:28:56 +01:00
Niels
9e7941b6ba
more type adjustments
2015-02-17 00:22:12 +01:00
Niels
432a54e570
some type fixes
2015-02-16 23:17:28 +01:00
Niels
a3f52a5a04
minor change to make code more portable
2015-02-16 22:54:07 +01:00
Niels
5ca84052a7
removed unused code and fixed includes
2015-02-16 22:47:30 +01:00
Niels
db91140156
clean up
2015-02-15 23:27:35 +01:00
Niels
429d2099ab
more allocators
2015-02-15 23:13:46 +01:00
Niels
b387761e12
forgot to destroy object
2015-02-15 22:58:35 +01:00
Niels
568d75954e
experiment with user-defined allocator
2015-02-15 22:49:26 +01:00
Niels
b1be1b45ee
minor change
2015-02-15 18:43:17 +01:00
Niels
d31d1ca664
fix of the fix
2015-02-15 17:40:46 +01:00
Niels
9f87fd464a
fixed Valgrind error
2015-02-15 17:07:19 +01:00
Niels
f1f72403cd
some unicode magic
2015-02-15 16:56:54 +01:00
Niels
b80ca376f9
added some missing features from 2.0 version
2015-02-15 15:16:11 +01:00
Niels
2d8b362849
further cleanup
2015-02-15 14:52:00 +01:00
Niels
2fc82358ce
clean up
2015-02-15 13:35:51 +01:00
Niels
bb558d8e6f
added Unicode support
2015-02-15 11:44:49 +01:00
Niels
6ef3cb51a4
some reorganization
2015-02-14 17:34:06 +01:00
Niels
cc4a8319a1
reverse iterators
2015-02-14 16:47:14 +01:00
Niels
005a5c2858
some fixes and cleanup
2015-02-13 21:46:33 +01:00
Niels
4361c4d03f
more test cases
2015-02-12 22:54:42 +01:00
Niels
89a1b0247b
fixed a major bug in the parser
2015-02-11 17:24:14 +01:00
Niels
3f8dc632e2
test cases for iterator classes
2015-02-11 15:29:41 +01:00
Niels
53c9564c51
bug fix and test cases
2015-02-11 14:58:52 +01:00
Niels
7b7a54aca5
fixed a bug
2015-02-11 13:15:22 +01:00
Niels
f1bd206994
number test cases
2015-02-11 11:36:45 +01:00
Niels
463c38df60
fix test case
2015-02-11 10:57:17 +01:00
Niels
c816fd12a0
cleanup
2015-02-11 10:16:43 +01:00
Niels
d609790fff
added whitespace handling
2015-02-11 09:51:24 +01:00
Niels
5d280143b7
fixes
2015-02-11 09:41:23 +01:00
Niels
8a4e127a57
+ moved lexer to class
2015-02-11 09:10:28 +01:00
Niels
e845cd1db8
still errors...
2015-02-10 23:55:44 +01:00
Niels
0433e71fc3
rename member variables; add whitespace tests
2015-02-10 23:20:30 +01:00
Niels
f9797f8eb2
try
2015-02-10 23:05:45 +01:00
Niels
1aebb6e6ed
removing failing (?) test cases
2015-02-10 22:48:16 +01:00
Niels
6232c78f88
possible fix
2015-02-10 22:37:07 +01:00
Niels
1bbde4597b
more test cases
2015-02-10 22:09:21 +01:00
Niels
cd89a88b4a
fix build error
2015-02-10 21:03:32 +01:00
Niels
963ec13b4a
testing the parser
2015-02-10 20:52:39 +01:00
Niels
3589837071
more test cases
2015-02-10 20:28:16 +01:00
Niels
8c6bb04d10
added width feature / more test cases
2015-02-10 19:50:26 +01:00
Niels
29a8d43d5a
fixed tests for copy assignment
2015-02-10 17:40:47 +01:00
Niels
2ec0c79e0f
test cases and clean up
2015-02-09 21:10:19 +01:00
Niels
0cfd0f5d68
added test cases and fixed some warnings
2015-02-09 20:21:26 +01:00
Niels
e53e84e1cc
more test cases
2015-02-09 18:45:32 +01:00
Niels
48392cfa79
some bug fixing
2015-02-09 18:02:31 +01:00
Niels
330ffd952b
removed reverse_iterators and fixed some bugs
2015-02-08 19:18:39 +01:00
Niels
441a6f267f
more test cases
2015-02-08 16:08:48 +01:00
Niels
16b91d491e
more test cases
2015-02-08 15:47:40 +01:00
Niels
7cd9067ea2
more test cases
2015-02-08 14:38:52 +01:00
Niels
caf82be2c7
added reverse iterators
2015-02-08 12:53:10 +01:00
Niels
87c250d843
another commit to trigger coverage
2015-02-07 19:14:23 +01:00
Niels
cc274f8145
small changes with default values
2015-02-07 19:04:08 +01:00
Niels
cf498ca4f2
added more features from master branch
2015-02-07 15:57:47 +01:00
Niels
ac274dee2a
Zwischenstand
2015-02-05 22:45:33 +01:00
Niels
16fa85e9f2
Zwischenstand
2015-02-05 22:45:21 +01:00
Niels
a5188b08df
strings are escaped
2015-02-04 22:49:46 +01:00
Niels
5ec433604a
more test cases
2015-01-31 21:25:38 +01:00
Niels
385865c4ec
remove checks in iterator
2015-01-31 20:46:23 +01:00
Niels
befd90dead
cleanup
2015-01-31 20:13:11 +01:00