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
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