537 Commits

Author SHA1 Message Date
Milo Yip
f183282b64 Fix warning 2016-01-22 19:03:00 +08:00
Milo Yip
4f4aff329f Fix clang compilation 2016-01-22 18:33:08 +08:00
Milo Yip
a5990f3eea Optimize ScanCopyUnescapedString for insitu parsing 2016-01-22 18:26:24 +08:00
Milo Yip
6863f7b24c Fix warning 2016-01-22 15:39:07 +08:00
Milo Yip
ae5cf58878 Fix ScanCopyUnescapedString performance issue 2016-01-22 15:33:08 +08:00
Milo Yip
69d0f41c4b Implemented ScanCopyUnescapeString optimization
Some performance issues to be fixed
2016-01-22 12:18:05 +08:00
Milo Yip
8fbe442925 Merge pull request #510 from miloyip/issue509_writingnaninf
Fix #509 by checking Nan/Inf when writing a double
2016-01-20 22:30:15 +08:00
Milo Yip
78c7d54aba Fix #498 VC2015 warnings 2016-01-20 22:29:50 +08:00
Milo Yip
ad1d22eba5 Fix #509 by checking Nan/Inf when writing a double 2016-01-20 01:53:40 +08:00
Milo Yip
df76c0d6d7 Apply LIKELY/UNLIKELY in Reader 2015-12-31 18:10:17 +08:00
Milo Yip
122c722993 More LIKELY/UNLIKELY in Writer 2015-12-31 16:17:52 +08:00
Milo Yip
bcc3fb6d9e Fix stack reserve bug 2015-12-31 16:07:07 +08:00
Milo Yip
ef6957c177 PutReserve() and PutUnsafe() optimisation for Writer 2015-12-31 15:30:28 +08:00
Milo Yip
1a21379e3c Merge branch 'master' into optimization 2015-12-31 09:23:38 +08:00
Milo Yip
81c07721cb Try to fix clang and gcc warnings problems again x10 2015-12-18 20:38:08 +08:00
Milo Yip
5c003f3ecb Try to fix clang and gcc warnings problems again x9
Abandon RAPIDJSON_NORETURN_SUFFIX
2015-12-18 20:34:46 +08:00
Milo Yip
efdbdc6016 Try to fix clang and gcc warnings problems again x8 2015-12-18 20:26:34 +08:00
Milo Yip
6d6381f596 Try to fix clang and gcc warnings problems again x7 2015-12-18 20:15:11 +08:00
Milo Yip
6e08e760fc Try to fix clang and gcc warnings problems again x5 2015-12-18 19:57:43 +08:00
Milo Yip
d6478991d0 Try to fix clang and gcc warnings problems again x4 2015-12-18 19:54:10 +08:00
Milo Yip
a6a73b51b5 Try to fix clang and gcc warnings problems againx2 2015-12-18 19:36:51 +08:00
Milo Yip
9ce381b801 Try to fix clang and gcc warnings problems again 2015-12-18 19:15:51 +08:00
Milo Yip
17f2ca6913 Try to fix clang and gcc warnings problems 2015-12-18 19:04:09 +08:00
Milo Yip
74c8dcfd57 Fix clang -Weverything 2015-12-18 18:34:04 +08:00
Philipp A. Hartmann
7899a3c125 encodings.h: fix typo in preprocessor condition (closes #494) 2015-12-16 09:40:39 +01:00
Michael Haubenwallner
e706397861 detect little endian for Microsoft ARM targets
When _MSC_VER and _M_ARM is defined, this is some Windows ARM target
using little-endian byte order.
2015-12-04 17:54:45 +01:00
Michael Haubenwallner
5b268e6508 use <wchar.h> with C++ linkage on Windows ARM
Instead of commenting that we should, just do include <wchar.h>
with C++ linkage when compiling for Windows on ARM.
Actually, omitting the C linkage really should be enough here.
2015-11-30 17:34:29 +01:00
Milo Yip
28f2ed00d9 Merge pull request #484 from miloyip/Issue483_PointerValue
Fix #483 by using the correct value type
2015-11-30 17:37:58 +08:00
Milo Yip
db0a03a43c Fix #483 by using the correct value type 2015-11-30 17:22:06 +08:00
Philipp A. Hartmann
98959e2820 GenericDocument: add implicit conversion to ParseResult
To simplify the error handling, this commit adds an implicit conversion
of GenericDocument to ParseResult, allowing code like (already in the
documentation):

   ParseResult ok = doc.Parse(json);
   if (!ok) // ...
2015-11-26 22:30:59 +01:00
Michael Haubenwallner
07672da098 fix Document::Parse(const Ch*) for transcoding
To allow for an UTF16-Document to Parse(UTF8),
the Parse() argument has to be UTF8-compatible.
2015-11-25 19:45:47 +01:00
Milo Yip
aeb5f5671d Merge pull request #442 from FrankHB/patch-1
Fixed typo
2015-10-26 12:23:57 +08:00
etiennebatise
edd077f4bf Add missing return statement, fix #448 2015-10-15 10:29:56 +02:00
etiennebatise
74a021346d Add break at default switch case statements
fix issue #444
2015-10-14 15:46:26 +02:00
Andrey
f7960ac0e8 Comments parsing fixes.
* Comments parsing function correctly handles EOF.
* Since SkipWhitespaceAndComments can generate errors, its calls should be followed by RAPIDJSON_PARSE_ERROR_EARLY_RETURN macro.
* Some tests to make the bug never appear again.
2015-10-14 00:04:29 +03:00
Andrey
5ce78b135d Introduce support of comments. 2015-10-11 15:09:58 +03:00
FrankHB
1640ce613c Fixed typo
<algorith> should be <algorithm>.
2015-10-10 11:33:48 +08:00
Philipp A. Hartmann
fa123699d3 Keep Document value unchanged on parse error, fixes #437
Keeping the DOM unchanged in case of an error is the intended
behaviour according to the [documentation] [1].

Instead of forcing the value to `kNullType` before starting the
parsing, store the parsed value upon success via regular move.

[1]: https://miloyip.github.io/rapidjson/md_doc_dom.html#ParseError
2015-10-07 21:48:39 +02:00
Rodion Malinovsky
2e11498943 Fix the usage of the stack::GetAllocator 2015-09-16 14:54:38 +03:00
Rodion Malinovsky
c7433dfc5e Add stack::HasAllocator
To check is it possible to expose allocator.
2015-09-16 14:53:51 +03:00
Rodion Malinovsky
8604ba0f1c Add asserts to prevent UB 2015-09-16 14:53:12 +03:00
Kurt Johnson
2a267ff15a check return of fwrite to avoid warn_unused_result build failures 2015-09-02 09:29:15 -05:00
Milo Yip
311b48224f Try to fix incorrect 64-bit alignment
Added unit tests for alignment macros.
Fixes #418
2015-09-01 10:05:33 +08:00
Philipp A. Hartmann
afbc0406f0 BigInteger: guard against self-assignment
Related-to: #404.
Suggested-by: @cosinekitty
2015-08-13 23:07:30 +02:00
blackball
c0854473e9 Implement = operator for BigInteger
There's a copy constructor, but no '=' operator implemented. This is dangerous.
2015-08-07 10:04:45 +02:00
blackball
fc50f103a6 Fix the error when compiled using vs2013
The error message for the original codes is: unary minus operator applied to unsigned type, result still unsigned. Added static casting to eliminate this message.
2015-07-24 16:19:08 +02:00
Milo Yip
1eaf180cda Merge pull request #394 from nightmouse/master
Warning cleanup on osx10.10/clang, enable -Werror
2015-07-22 09:19:51 +08:00
scheiber
d26d50092d fixing sign conversion warnings and loss of precision warnings 2015-07-21 15:15:42 -06:00
Philipp A. Hartmann
fec9e8a4f2 prohibit C++11 move from Document to Value
As reported in #387, silently moving a `GenericDocument` to a
`GenericValue` can lead to object slicing and premature deletion of
the owning allocator of the (surviving) `GenericValue`.

To reduce this risk, prohibit move construction of a `GenericValue`
from a `GenericDocument`.
2015-07-17 08:24:43 +02:00
Milo Yip
823b731896 Merge pull request #376 from pah/feature/document-swap
add GenericDocument<>::Swap with std::swap() support
2015-07-13 21:14:02 +08:00