1974 Commits

Author SHA1 Message Date
Milo Yip
bba388b4fa Merge pull request #896 from StilesCrisis/writer-flush-api
Writer flush api
2017-03-16 10:36:25 +08:00
Milo Yip
465fab45c1 Merge pull request #897 from StilesCrisis/issue-889-pretty-writer
Issue 889 pretty writer
2017-03-16 10:35:26 +08:00
John Stiles
d5d18cf694 Fix template length optimization issue in PrettyWriter
Missed PrettyWriter in the initial fix for Issue #889
2017-03-14 23:48:41 -07:00
John Stiles
31c6c50ac6 Provide a Flush() API within Writer
This is helpful if you’re writing code that needs to control flush
behavior and you don’t want to pass around your buffer object to each
handler function alongside the writer. Seems like an easy convenience
to add.
2017-03-14 23:28:59 -07:00
John Stiles
c7703f8313 Merge branch 'lookahead-parser-improvements' into writer-flush-api 2017-03-14 23:23:18 -07:00
John Stiles
5b593bba19 Merge pull request #2 from miloyip/master
Merge back
2017-03-14 15:41:53 -07:00
Clemens Arth
b91c515afe update to create config file which is independent from actual install location 2017-03-14 10:27:36 +01:00
John Stiles
f0c108b5c9 Remove all switch 2017-03-13 07:53:37 -07:00
John Stiles
6723e3296a Initialize v_ to placate GCC
v_ has a value assigned to it as part of ParseNext() which happens in
the constructor, but that’s not soon enough for GCC
2017-03-13 07:43:26 -07:00
John Stiles
bf19c1a0be Remove switch
GCC and Clang cannot agree on what constitutes a good switch statement.
2017-03-13 07:40:51 -07:00
Milo Yip
266870df8e Merge pull request #890 from StilesCrisis/issue-889
Issue 889
2017-03-13 15:41:06 +08:00
John Stiles
e7fd707698 Improve LookaheadParser
Fix clang -Wswitch-enum warnings.
Made NextArrayValue() more robust—now handles error state correctly,
will enter error state if an unexpected state is reached.
Made separate states for each value type to simplify getters.
Simplified implementation of skipping arrays and objects.
Skipping an object now works whether you’ve retrieved the key or not.
2017-03-13 00:33:10 -07:00
John Stiles
55f8a32020 Remove broken templatized string length optimization
It did not support char arrays.
2017-03-12 23:47:59 -07:00
John Stiles
84a0356608 Add unit test for Issue 889 2017-03-12 23:40:54 -07:00
StilesCrisis
33a9f58509 Merge remote-tracking branch 'miloyip/master' 2017-03-08 23:55:03 -08:00
Milo Yip
5de06bfa37 Merge pull request #882 from StilesCrisis/lookaheadparser
Lookahead Parser
2017-03-09 09:32:15 +08:00
John Stiles
260e2f372e Merge remote-tracking branch 'refs/remotes/origin/lookaheadparser' 2017-03-08 15:18:53 -08:00
John Stiles
036f300210 Merge remote-tracking branch 'refs/remotes/miloyip/master' 2017-03-08 14:59:11 -08:00
Milo Yip
2df32fbfa0 Merge pull request #881 from TedLyngmo/issue_874_Werror_effcplusplus
Fix -Werror=effc++ errors with GNU 6.3.1
2017-03-08 17:31:45 +08:00
StilesCrisis
8da89f54bd Fix GCC warning 2017-03-08 01:16:19 -08:00
StilesCrisis
d4669bbc8e Add lookahead parser example 2017-03-08 01:08:41 -08:00
Ted Lyngmo
ef22ca1732 Fix -Werror=effc++ errors with GNU 6.3.1
Fix "'MyHandler::type’ should be initialized in the member
initialization list [-Werror=effc++]" errors.

https://github.com/miloyip/rapidjson/issues/874
2017-03-08 09:47:38 +01:00
Ted Lyngmo
c64f378f16 Fix -Werror=effc++ errors with GNU 6.3.1
Fix "'MyHandler::type’ should be initialized in the member
initialization list [-Werror=effc++]" errors.

https://github.com/miloyip/rapidjson/issues/874
2017-03-08 06:25:41 +01:00
John Stiles
237d2f2ea3 Merge remote-tracking branch 'miloyip/master' 2017-03-05 21:27:54 -08:00
Milo Yip
a1fac159d7 Merge pull request #872 from StilesCrisis/issue845_native_strlen
Use native strlen
2017-03-06 09:50:43 +08:00
John Stiles
c4e3d6243c Fix msvc x64 compilation issue
Disambiguate by putting the ENABLEIF on the return value instead of in
the argument list.
2017-03-05 09:50:03 -08:00
John Stiles
cdea825a0b Assert that String() and Key() are given null-terminated strings
Assert in case users attempt to pass a char array to String() or Key()
that is not null terminated; that is not the intended use of the API.
Null terminate your string buffers.
2017-03-05 09:23:03 -08:00
John Stiles
61f8c4ef0d Quoted strings to String() or Key() are auto-sized by template
Same fix as previous commit, to prettywriter
2017-03-05 00:38:34 -08:00
John Stiles
dd97ede84d Quoted strings to String() or Key() are auto-sized by template
No strlen call needs to be made when templates can auto-deduce the
string length. No strlen = faster!

Unfortunately this needs a touch of  SFINAE to allow multiple overrides
to coexist cleanly.
2017-03-05 00:27:08 -08:00
John Stiles
7116c355df Merge remote-tracking branch 'miloyip/master' into issue845_native_strlen 2017-03-05 00:19:19 -08:00
Milo Yip
02de69892c Merge pull request #876 from erikfroseth/issue-875
Remove executable bit
2017-03-03 17:46:07 +08:00
Erik Froseth
d6e9cf5d54 Remove executable bit
Remove the executable bit for various .json files
2017-03-03 09:48:41 +01:00
John Stiles
66b564f385 Remove unneeded change 2017-03-03 00:42:21 -08:00
John Stiles
db8d3bb4d6 Remove unneeded change 2017-03-03 00:42:00 -08:00
John Stiles
6ae50ad6e3 Once again 2017-03-03 00:27:47 -08:00
John Stiles
534f135261 Try again to suppress Valgrind 2017-03-03 00:21:10 -08:00
John Stiles
3f9ebfe9e9 Trivial change to trigger Travis CI 2017-03-02 21:24:03 -08:00
John Stiles
13e99d8d5f Trivial change to re-trigger Travis CI
No-op blank line
2017-02-28 22:58:24 -08:00
Milo Yip
9ae349c622 Merge pull request #871 from StilesCrisis/token-by-token-doc
Token-by-token parser documentation
2017-03-01 14:51:12 +08:00
John Stiles
4b822a41af Attempt to suppress valgrind wcslen error 2017-02-28 19:31:21 -08:00
StilesCrisis
6e2e5c7dbe Specialize StrLen for char/wchar_t
Compilers generally provide a much smarter strlen than ours.
2017-02-28 01:11:30 -08:00
StilesCrisis
f349456bc5 Merge remote-tracking branch 'miloyip/master' into issue845_native_strlen 2017-02-28 01:09:58 -08:00
StilesCrisis
0f3bf99d58 Tiny fix
Make example code var names match API above for consistency
2017-02-28 00:08:30 -08:00
StilesCrisis
5c2bb18772 Add IterativeParse docs 2017-02-28 00:06:02 -08:00
Milo Yip
e6b192a75c Merge pull request #869 from StilesCrisis/writer-key-fix
Writer EndObject missing-value fix
2017-02-28 16:02:52 +08:00
Milo Yip
9cabd6372d Merge pull request #870 from StilesCrisis/null-handler-fix
Null handler fix
2017-02-28 16:02:22 +08:00
StilesCrisis
4643104b8a Fix null handler construction
We should not malloc the null-handler object and cast to OutputHandler;
we need to actually invoke the constructor via placement new.
2017-02-27 23:28:25 -08:00
StilesCrisis
0ec4e86f14 Unit test
Add unit test for Issue 848 (segfault in ~Document)
2017-02-27 23:06:05 -08:00
StilesCrisis
fa84cd18f4 Add matching fix for PrettyWriter
PrettyWriter EndObject will now also assert if called when a key is
missing its matching value.
2017-02-27 22:53:59 -08:00
StilesCrisis
2e9b7b1ae6 Added assertion
Documented existing assertions in EndObject
Added new assertion in EndObject to catch error condition where objects
are ended with a key but no matching value.
2017-02-27 22:44:13 -08:00