383 Commits

Author SHA1 Message Date
miloyip
e7f1c6dd08 Remove an invalid Document::ParseInsitu() API 2015-04-13 18:21:15 +08:00
miloyip
e346b93325 Try to fix a potential set fault on some compiler
Merge the fix from https://github.com/miloyip/itoa-benchmark/issues/8
2015-04-11 12:10:44 +08:00
miloyip
cb59a5a9a2 Correct the Value::operator==() for double. 2015-04-11 11:34:44 +08:00
Milo Yip
5ae85e67f6 Yet two more warnings 2015-04-11 00:41:09 +08:00
Milo Yip
2452afbf3c Fix -Wfloat-equal warnings in Value::operator== and valuetest 2015-04-11 00:02:17 +08:00
Milo Yip
dfba62e143 Fixed two -Wfloat-equal warnings 2015-04-10 22:57:41 +08:00
Milo Yip
02aa12a29e Merge pull request #291 from miloyip/issue289_NegativeZeroRoundtrip
Fix #289 negative zero roundtrip (double only)
2015-04-10 21:53:58 +08:00
Milo Yip
e5cf3b85f3 Fix #289 negative zero roundtrip (double only) 2015-04-10 21:24:29 +08:00
Milo Yip
b7e34100ed Fix #288 double quote in unicode escape 2015-04-10 20:36:27 +08:00
Milo Yip
d1959ba6e3 Change copyright owner and related changes. 2015-04-03 12:57:16 +08:00
Philipp A. Hartmann
cda34f0033 encodings.h: hide overflow warning 2015-04-01 22:39:42 +02:00
Philipp A. Hartmann
525e8c5770 biginteger/diyfp: mark __int128 as extension on GCC 2015-04-01 22:39:26 +02:00
Philipp A. Hartmann
2f010e6e4b document.h: include <string>, iff RAPIDJSON_HAS_STDSTRING==1
Reported-by: Janusz Chorko (@yachoor)
See: https://github.com/miloyip/rapidjson/commit/c1c9ba7c#commitcomment-10434694
2015-03-30 22:37:24 +02:00
thebusytypist
92c7485be0 Check libstdc++ version to decide if enable rvalue ref support. 2015-03-24 17:03:24 +08:00
Philipp A. Hartmann
06c3ddbac5 GenericValue::AddMember<T>: add missing overload (closes #254)
As discovered by @felipegb94, there are missing overloads to the
`GenericValue::AddMember<T>` template function, taking an explicit
`GenericValue&` as a name and accepting arbitrary primitive values.

This patch adds the missing overloads. The `StringRefType` overload
is needed to disambiguate the addition of a string literal as
value.

Some tests are added to `TEST(Value, Object)` in `valuetest.cpp`.
2015-03-10 19:11:27 +01:00
Milo Yip
3804a06032 Merge pull request #241 from yachoor/compilation_fixes
Compilation fixes
2015-02-23 21:30:39 +08:00
Philipp A. Hartmann
a7319330cb error.h: drop trailing comma in enum
In C++'98/03, trailing commas in enumerations are not allowed, but have
been introduced in C++11. This patch drops the trailing commas in order
to avoid compiler warnings (e.g. GCC with -pedantic).

See #9 and http://code.google.com/p/rapidjson/issues/detail?id=49 for
previous instances of this issue.
2015-02-20 08:15:20 +01:00
Janusz Chorko
78befee2bd Fix compilation error when cstring does not import std::memcmp into global namespace. 2015-02-14 17:20:08 +01:00
Janusz Chorko
edfde4bfa2 Fix ambiguous overload when uint32_t is not unsigned int but unsigned long. 2015-02-14 17:20:07 +01:00
Philipp A. Hartmann
38dace775c warning fixes (closes #235, closes #236) 2015-02-07 14:49:25 +01:00
Drew Noakes
e54136d74c Add std::string overload to PrettyWriter when RAPIDJSON_HAS_STDSTRING defined. 2015-02-02 10:05:31 +00:00
Drew Noakes
1a76879c12 Include <string> if RAPIDJSON_HAS_STDSTRING set. 2015-02-02 09:34:48 +00:00
Drew Noakes
3cfd675163 Add std::string overload to Writer when RAPIDJSON_HAS_STDSTRING defined. 2015-02-02 09:21:28 +00:00
Drew Noakes
41f3c60b22 Use aligned SSE register load intrinsic.
The code goes to the trouble of ensuring that data is aligned at a
16-byte boundary, then goes ahead and uses the unaligned form of the
load intrinsic _mm_loadu_si128.

Either the code shouldn't bother aligning the data to the start of the
whitespace, or it should use the aligned form of the intrinsic.
2015-01-24 23:43:30 +00:00
Milo Yip
24563b28fb Correct Value(kStringType) and more assertions 2015-01-13 23:49:53 +08:00
Philipp A. Hartmann
0ee38bc918 Reader::Parse{Array,Object}: simplify switch
Closes #223.
2015-01-11 18:46:58 +01:00
Erik Martin
4b4f726dd8 Fix an issue with Windows x64. Including the rapidjson reader.h requires <intrin.h> to be included or _umul128 will be undefined. 2015-01-07 13:50:23 -05:00
Philipp A. Hartmann
8794bbd8bb fix include ordering 2014-12-08 15:59:54 +01:00
Philipp A. Hartmann
760883c2e8 stringbuffer.h: add missing include for std::move (fixes #208) 2014-12-08 15:41:58 +01:00
Milo Yip
320eff1c21 Fix #207 VC2013 imaxdiv_t redefinition 2014-12-08 21:53:29 +08:00
Milo Yip
e62d53751b Merge remote-tracking branch 'origin/master' into issue120floatprecision 2014-11-30 19:16:28 +08:00
Milo Yip
a6117dae16 Fix StringBuffer compilation error in VS2013
Add move constructor and prohibit copy constructor and assignment
operator.
2014-11-30 19:11:40 +08:00
Milo Yip
92554b52a2 Merge remote-tracking branch 'origin/master' into issue120floatprecision 2014-11-30 18:53:32 +08:00
Milo Yip
23b7a5ecae Add RAPIDJSON_PARSE_DEFAULT_FLAGS for customizing kParseDefaultFlags
https://github.com/miloyip/rapidjson/issues/120#issuecomment-54428797
2014-11-30 18:52:48 +08:00
Philipp A. Hartmann
2aab79207e GenericValue: improve copying performance
The GenericValue "copy" constructor (with Allocator) uses a temporary
GenericDocument object to perform the deep copying with the provided
allocator.  This leads to the temporary allocation of the `Stack`
memory, even in case of shallow values (numbers, etc.).

This patch improves the performance of this operation by only resorting
the the SAX Handler implementation in case of Array or Object values.
2014-11-26 23:11:00 +01:00
Anton Indrawan
5a96c1f93e Compile all examples with the Dinkum C++ of QNX 6.6
QCC -Wall -Wextra -Vgcc_ntoarmv7le -I../include <example>
2014-11-23 21:03:57 +01:00
Milo Yip
0a17e1a634 Fix namespace compilation errors 2014-11-23 18:59:35 +08:00
Milo Yip
b855c3f73a Minor optimization of strtod 2014-11-23 16:45:07 +08:00
Milo Yip
3679c280dd Merge remote-tracking branch 'origin/master' into issue120floatprecision_customstrtod 2014-11-23 08:48:03 +08:00
Philipp A. Hartmann
3220438aa5 GenericDocument: explicitly prohibit copying
See #201.
2014-11-21 13:05:54 +01:00
Philipp A. Hartmann
c88cc331d5 DiyFp: avoid shadowing (closes #195) 2014-11-17 13:31:24 +01:00
Philipp A. Hartmann
6b69662ce8 Writer: declare constructors as explicit
Avoids implicit conversion from an `OutputStream` (or an allocator pointer)
to a `Writer` instance.
2014-11-17 13:27:54 +01:00
Philipp A. Hartmann
c35bbe54d9 Writer: fix documentation of stackAllocator param (closes #196) 2014-11-17 13:26:49 +01:00
Milo Yip
57b91300fb Merge remote-tracking branch 'origin/master' into issue120floatprecision_customstrtod
Conflicts:
	include/rapidjson/internal/dtoa.h
	test/unittest/readertest.cpp
2014-11-14 22:23:16 +08:00
Milo Yip
22ca9312df Fix gcc/clang compilation errors and turn off exhaustive number test 2014-11-14 18:36:25 +08:00
Milo Yip
40852f4d6d Fixes StrtodDiyFp bugs 2014-11-14 18:23:51 +08:00
Philipp A. Hartmann
549dcb755d *.h: move to namespace macros 2014-11-06 20:52:49 +01:00
Philipp A. Hartmann
5d9125f51c add RAPIDJSON_NAMESPACE + _BEGIN, _END 2014-11-06 20:52:49 +01:00
miloyip
b4e2d58c74 Temp commit 2014-10-31 10:25:04 +08:00
Philipp A. Hartmann
e8f5d9f8ef MemoryPoolAllocator, Stack: lazily allocate Allocators
In order to make the constructors more efficient, especially
in the context of C++11 move semantics, the (dynamic) allocations
in MemoryPoolAllocator and Stack should be performed lazily.

Move the allocations to the first use of the allocator in both
classes.
2014-10-30 18:40:58 +01:00