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
Aaron Burghardt
268fd444e6
Added comments to new method yyfill.
2015-03-01 05:55:40 -05:00
Aaron Burghardt
edb697293b
Fixed variable adjustments in yyfill().
2015-03-01 05:55:40 -05:00
Aaron Burghardt
ec6979bf76
Purged old commented-out code.
2015-03-01 05:55:40 -05:00
Aaron Burghardt
b66c306d47
Removed unused member m_state.
2015-03-01 05:55:40 -05:00
Aaron Burghardt
0d79e7c2a2
Removed duplicate m_marker updates in YYFILL macro.
2015-03-01 05:55:40 -05:00
Aaron Burghardt
e3e18d7b85
Deleted extraneous comment.
2015-03-01 05:55:40 -05:00
Aaron Burghardt
e4cc42cf81
Moved m_marker in lexer::scan() to be a member of lexer.
2015-03-01 05:55:40 -05:00
Aaron Burghardt
754c38e871
Moved buffer management into the lexer class and implemented YYFILL so that streams are read incrementally.
2015-03-01 05:55:40 -05: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
4cd341d4db
more unit tests
2015-02-10 18:51:09 +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
Niels
5199382c91
worked on issue #8 and #27
2015-01-24 20:33:06 +01:00
Niels
807de40463
implemented missing operator[]
2015-01-23 18:27:58 +01:00
Niels
6ee46ed519
cleanup
2015-01-21 17:42:45 +01:00
Niels
d66743b9c2
fixed a memory leak
2015-01-21 15:59:52 +01:00
Niels
bbc45eb4d8
overworked iterators
2015-01-21 15:43:24 +01:00
Niels
76be1ae1f6
+ more adjustments toward a real container
2015-01-21 11:47:03 +01:00
Niels
3c780f0f57
+ generic constructors for arrays and objects
2015-01-21 09:40:46 +01:00
Niels
a7a946bd18
added missing header
2015-01-20 21:15:14 +01:00
Niels
54fc97d434
+ set number type to int64_t
...
+ replaced several functions by template magic
2015-01-20 20:43:54 +01:00
Niels
a144800774
+ implemented member and non-member swap
2015-01-19 19:51:07 +01:00
Niels
7724d34741
fixed #31 : only use spaces in pretty print
2015-01-18 10:58:48 +01:00
Niels
19043d2003
this should fix #28
2015-01-13 19:07:53 +01:00
WanCW
36f6199898
Fix string conversion under Clang
2015-01-12 20:03:41 +08:00
Niels
bd05c7a18a
small tidy up after pull request #22
...
- removed IDE leftovers
- adjusted const’ness of some functions
- style guide
2015-01-11 15:16:14 +01:00
Niels
6533b33387
Merge pull request #22 from Teemperor/unicode_escaping
...
Unicode escaping
2015-01-11 15:08:13 +01:00
Niels
8d9c2bea4e
+ applied style guide
2015-01-11 15:05:04 +01:00
Raphael Isemann
7b97ec884e
Fixed dumping of strings
2015-01-10 22:04:57 +01:00
Raphael Isemann
a866a9d980
Reapplied code style fixes
2015-01-10 19:53:13 +01:00
Raphael Isemann
a409ba9488
Fixed build
2015-01-10 18:46:01 +01:00
Raphael Isemann
6105ce5484
Allowed automerge
2015-01-10 17:33:18 +01:00
Raphael Isemann
1287f03084
Code point are two words, and so the "P" should be capital
2015-01-10 16:50:39 +01:00
Raphael Isemann
5a54e46709
Fully implemented the JSON spec
2015-01-10 16:49:10 +01:00
Raphael Isemann
222aacc213
Quick and dirty implementation for basic multilingual plane in the unicode escape mechanism
2015-01-10 10:36:30 +01:00
Niels
0cd2ecf48f
minor style adjustments
2015-01-09 20:48:16 +01:00
Raphael Isemann
7f4fcc51f6
Implemented the JSON spec for string parsing for everything but the \uXXXX escaping for unicode
2015-01-09 20:03:18 +01:00
Niels
33f5236687
added missing header
2015-01-09 17:40:14 +01:00
Niels
535aef5ad0
Merge pull request #19 from kirkshoop/stditerator
...
add the std iterator typedefs to iterator and const_iterator
2015-01-09 17:37:42 +01:00
Niels
33f5e74905
minor syntax adjustments
2015-01-09 16:38:34 +01:00
Kirk Shoop
3486a5d9bb
add the std iterator typedefs to iterator and const_iterator
2015-01-09 07:33:57 -08:00
Raphael Isemann
4a39bfb17e
Fixed typo in comments
2015-01-09 11:57:39 +01:00
Raphael Isemann
fa0ee9c927
Fixed escaped quotes
2015-01-08 22:35:48 +01:00
Niels
4647401030
fixed #15
2015-01-06 22:05:32 +01:00
Niels
bd9f49efb9
implemented pretty printing (issue #13 )
...
- to_string() method is now called dump()
- syntax borrowed from Python’s json.dumps()
2015-01-06 21:44:07 +01:00
Niels
5f05d02c6a
Merge pull request #14 from elliotgoodrich/master
...
Fix double delete on std::bad_alloc exception
2015-01-06 18:43:21 +01:00
Niels
a53c878c81
moved class into "nlohmann" namespace
...
- fixed issue #9
- also removed std::mutex member variable
- also added “std::” prefix to size_t variables
2015-01-06 18:41:24 +01:00
Elliot Goodrich
0773f40a8e
Fix double delete on std::bad_alloc exception
...
If the new operator throws in the json::find methods then result.oi_ is
deleted again in the destructor of json::iterator/json::const_iterator,
which is a double delete and undefined behaviour.
2015-01-06 09:12:55 +00:00
Niels
a9669a410d
removed "noexpect" from all functions that use new
2015-01-04 23:18:24 +01:00
Niels
540cda6118
used _-suffix for member variables
2015-01-04 23:09:30 +01:00
Niels
3bef1a5097
renamed "toString()" to "to_string()"
2015-01-04 20:50:28 +01:00
Niels
f63ff7727e
renamed class from "JSON" to "son"
2015-01-04 20:43:25 +01:00
Niels
4d00105e5c
tidy up
2015-01-04 19:05:46 +01:00
Niels
bd0be5f0af
fixed memory leak
2015-01-04 12:29:16 +01:00
Niels
481f377cfe
+ guard call to std::ios_base::sync_with_stdio
2015-01-04 12:05:28 +01:00
Niels
764ed26c41
cleanup
2015-01-03 17:18:17 +01:00
Niels
18364aac85
parser returns an object
2015-01-02 17:19:40 +01:00
Niels
16c30cff8b
removed old C fragments
2015-01-02 15:29:36 +01:00
Niels
af4aca9edd
+ better string handling
2015-01-02 12:47:32 +01:00
Niels
6995d33fb1
+ fixed documentation bugs
2014-12-30 11:57:58 +01:00
Niels
2335d3f3d5
tidy up
2014-12-30 11:47:28 +01:00
Niels
9e61092fc6
+ overworked parser
2014-12-30 10:54:01 +01:00
Niels
4e44390090
+ fixed a bug in the stream input
2014-12-29 21:13:03 +01:00
Niels
15a9d3cff6
minor changes
2014-12-29 19:54:31 +01:00
Niels
a8c4f84fb8
+ removed data() function
2014-12-29 16:45:54 +01:00
Niels
725202356b
+ fix memory issues
2014-12-29 12:51:20 +01:00
Niels
2c1b3e5108
+ small cleanup
2014-12-29 00:02:14 +01:00
Niels
bed47db168
+ that could be it!
2014-12-28 23:09:31 +01:00
Niels
776611c270
+ another check
2014-12-28 22:59:11 +01:00
Niels
0ced78bfa8
+ test
2014-12-28 22:51:27 +01:00
Niels
b573841ace
+ more test cases
2014-12-28 22:38:57 +01:00
Niels
98af0887f2
+ more test cases
2014-12-28 22:29:06 +01:00
Niels
48a349a058
+ more test cases
2014-12-28 21:53:13 +01:00
Niels
8f45d9351e
+ overworked switches
2014-12-28 20:07:56 +01:00
Niels
cd48a01b20
+ more test
2014-12-28 18:00:50 +01:00
Niels
d3216300b2
+ more test cases
2014-12-28 17:26:33 +01:00
Niels
ea94518a64
+ more test cases
2014-12-28 17:09:38 +01:00
Niels
5b1f69ce5b
+ overworked comments
2014-12-28 16:48:22 +01:00
Niels
a68b4cafa2
+ more test cases
2014-12-28 14:57:21 +01:00
Niels
8d4f675151
+ test cases for clear()
2014-12-28 12:50:52 +01:00
Niels
b57179e0fe
+ fixed a compiler warning
...
+ added coveralls
2014-12-28 09:23:49 +01:00
Niels
fbad7fac17
2.0 preview
2014-12-28 09:11:01 +01:00
Niels
278a9e7052
simplified code
2013-12-11 08:41:02 +01:00
Niels
81367a9a10
fixed a cppcheck warning
2013-12-10 12:44:23 +01:00
Niels Lohmann
a8f62ca052
+ a fix for C++98
2013-07-15 08:32:10 +02:00
Niels
9a567d9d2d
- tidied code
...
- added more documentation
2013-07-11 14:19:11 +02:00
Niels
52c2cb8ce7
- removed pointers to POD inside the union
2013-07-10 14:57:51 +02:00
Niels
4e6a400a23
- reorganized payload
2013-07-10 14:33:17 +02:00
Niels
ec6e628d4f
- minor tweaks
2013-07-05 16:45:17 +02:00
Niels
cb2da141ec
- further adjustments
2013-07-05 16:15:29 +02:00
Niels
0ee8d53a28
- a find() function
2013-07-05 14:16:47 +02:00
Niels
ac5ff65856
- bugfixing
2013-07-05 12:32:23 +02:00
Niels
abad903f31
- memory problem
2013-07-05 11:57:12 +02:00
Niels
61461ec456
- fixes from Harro
2013-07-05 11:23:49 +02:00
Niels
23ada516aa
- header for NULL
2013-07-04 18:16:24 +02:00
Niels
d035fa581d
- added missing headers
2013-07-04 18:13:17 +02:00
Niels
206e15dff7
- fixed bugs and added test cases
2013-07-04 17:06:53 +02:00
Niels
4502e7e51c
- initial commit
2013-07-04 10:49:03 +02:00