ecorm
b0328d2d3b
GenericDocument move-assignment now uses std::foward to move-assign the base class.
2014-10-24 15:25:27 -03:00
ecorm
20a9cd2810
Merge branch 'master' into issue123movesupport
2014-10-24 14:09:30 -03:00
ecorm
fd12dcb3db
Added MemoryPoolAllocator to GenericDocument moveunit tests. Added comment in GenericDocument move assignment operator explaining why the static_cast is needed to move the base class.
2014-10-24 14:05:32 -03:00
Philipp A. Hartmann
6bd5ecb08c
GenericValue: improve documentation for operator[]
2014-10-24 14:45:48 +02:00
Philipp A. Hartmann
e8445e0bbc
GenericValue: improve operator[] disambiguation
...
In the original disambiguation fix for `GenericValue::operator[]` (#170 ),
the documentation has been missing, which led to quite badly rendered
Doxygen pages.
During a cleanup, I've realized that a much simpler disambiguation is
possible:
````cpp
GenericValue& operator[](SizeType idx); // array
template <typename T>
GenericValue& operator[](T* name); // object
````
This approach works, as non-template functions are preferred over
template functions.
In order to improve the error messages, the pointer type is restricted
to `(const) Ch`.
Update `tutorial.md` to drop the ambiguity warning.
2014-10-24 13:55:26 +02:00
ecorm
cb33f910c3
Merge branch 'master' into issue123movesupport
2014-10-24 03:11:34 -03:00
ecorm
02f3b00ee6
Implemented C++11 move semantics for GenericDocument
2014-10-24 02:51:17 -03:00
Zhihao Yuan
7303d92990
Disambiguate GenericValue's [0] and ["string"]
2014-10-23 21:50:39 -04:00
Zhihao Yuan
0d90bcc709
No implicit conversion from Type to GenericValue
2014-10-23 21:50:39 -04:00
Sean Leather
0e715872c0
Fix MemoryStream::Peek() and add test for fix
...
MemoryStream::Peek() did not return '\0' if src_ == end_, but Peek() == '\0' is
used in parsing in the GenericReader. Without this change, parsing with
MemoryStream as the InputStream could result in a segmentation fault.
2014-10-23 00:31:19 +02:00
Milo Yip
faa877ff78
Partial StrtodDiyFp implementation [ci skip]
2014-09-19 08:59:36 +08:00
TyRoXx
b9608f2cf2
turn implicit integer conversions into static_casts to avoid -Wconversion warnings
2014-09-17 20:30:19 +02:00
Milo Yip
475b242087
Minor refactoring before optimization trial
2014-09-16 19:38:18 +08:00
Milo Yip
5171775d4c
Minor optimizations in BigInteger
2014-09-16 19:23:28 +08:00
Milo Yip
299e9f1e32
Added missing files
2014-09-16 18:47:35 +08:00
Philipp A. Hartmann
5117f9e555
explicitly qualify C(++) library functions
...
Some compilers do not export the standard C library functions
to the global namespace, in case the C++ header variants are
included (<cstdlib>, <cstring>).
RapidJSON currently uses:
* malloc, realloc, free
* memcpy, memmove, memset, memcpy
Add an explicit namespace qualification to avoid lookup problems.
2014-09-16 10:42:14 +02:00
Philipp A. Hartmann
c0bde81b03
rapidjson.h: explicitly import std::size_t to rapidjson namespace
2014-09-16 10:37:37 +02:00
Philipp A. Hartmann
e052c727b2
GenericValue: drop forced packing pragma
2014-09-16 10:19:40 +02:00
Milo Yip
74b81fa510
Extract classes into various files.
2014-09-16 15:23:18 +08:00
Milo Yip
4f99e25b9d
Minor code cleaning
2014-09-16 15:06:44 +08:00
Milo Yip
a425ad5552
Trimming leading/trailing zeros and correct underflow case
2014-09-16 10:52:40 +08:00
miloyip
50fc3fedb2
Fix round towards even
2014-09-15 16:53:57 +08:00
miloyip
b29acfb90d
Limit significand to 17 digits for fast path
...
Should fix gcc debug error in tranvis. May need further refactoring.
2014-09-15 15:54:15 +08:00
Milo Yip
bea4fa7f6a
Remove unused BigInteger::operator+=(const BigInteger&)
2014-09-15 00:31:38 +08:00
Milo Yip
cbd7475242
Fix normal-subnormal boundary and add more boundary cases in unit tests.
2014-09-15 00:30:22 +08:00
Milo Yip
4c2128818f
Add 32-bit support for custom strtod
2014-09-14 12:42:58 +08:00
Milo Yip
855da06d0f
Makes gcc x64 runnable, but failed on one case. [ci skip]
2014-09-14 10:52:33 +08:00
Milo Yip
98dd0a0a64
Make custom strtod work for denormal numbers and some boundary cases [ci skip]
2014-09-13 23:24:40 +08:00
Milo Yip
4bd240abee
Implementing custom strtod, fail on some cases [ci skip]
2014-09-12 23:03:20 +08:00
Koji Kobayashi
a69dffbc53
make MemoryPoolAllocator's Malloc work after Clear if a buffer was not supplied by the user
2014-09-10 20:35:23 -07:00
Milo Yip
359ebc78c0
Extract conversion code to strtod.h [ci skip]
2014-09-10 23:36:09 +08:00
miloyip
30ea2a32d1
Prepare custom strtod data. (cannot pass unit test) [ci skip]
2014-09-10 18:54:41 +08:00
Philipp A. Hartmann
296c7db140
Stack: adjust growth factor
...
The growth factor for the `internal::Stack` helper has not been updated
together with the growth factors used in GenericValue (#130 ).
2014-09-09 10:49:40 +02:00
miloyip
d0f98d2da1
Fix a bug in dtoa on gcc
...
Discovered in https://github.com/miloyip/dtoa-benchmark/issues/1 with
assertion fail.
2014-09-07 15:20:09 +08:00
miloyip
a71f2e60ff
Optimize ParseNumber()
2014-09-05 19:51:20 +08:00
Milo Yip
881c91d696
Merge master and implement kParseFullPrecision
2014-09-05 13:22:56 +08:00
Milo Yip
d875f16ad7
Refactor ParseNumber for two modes (incomplete)
2014-09-05 10:45:44 +08:00
Kosta
f0d9ab4ec9
finally fixing Reader::ParseString()
...
It was a copy-n-paste error for the last argument of `Key()` and `String()`...
2014-09-04 18:00:05 +02:00
Kosta
00ac1024ee
more changes
2014-09-04 17:37:13 +02:00
Kosta
e70494bc00
fix for Reader::ParseString()
implementation plus some minor code cleanups and additions
2014-09-04 17:29:52 +02:00
Kosta
4a71dc6d58
reunified ParseKey
, ParseString
, and ParseStringOrKey
again
2014-09-04 16:54:01 +02:00
Kosta
0f4071046f
fix simplereader.cpp
and the Key()->String()
forwarding in BaseReaderHandler
2014-09-04 15:30:44 +02:00
Kosta
17b1a14d62
add Key()
method to Writer
and PrettyWriter
2014-09-04 15:20:05 +02:00
Kosta
57e1c87553
add Key()
method to the Handler
concept
...
For more details see: https://github.com/miloyip/rapidjson/issues/132
This commit tries to minimize the required code changes and forwards the `Handler::Key()` calls to `Handler::String()` wherever possible in order to not break existing code; or at least not code deriving from `BaseReaderHandler` when implementing a custom `Handler`.
2014-09-04 15:14:18 +02:00
miloyip
b0436911a8
Check "fast path cases in disguise" in strtod
2014-09-03 14:45:37 +08:00
Milo Yip
bc9d7866be
Merge pull request #128 from pah/feature/cxx11-move
...
Initial C++11 move support
2014-09-03 09:37:35 +08:00
Milo Yip
15d70d6a7b
Merge pull request #127 from pah/feature/value-different-allocators
...
GenericValue: accept values with different allocators for read-only access
2014-09-03 09:37:15 +08:00
miloyip
0580d42d11
Fallback strtod() when not able to do fast-path
...
This shall generate best possible precision (if strtod() is correctly
implemented). Need more unit tests and performance tests. May add an
option for accepting precision error. Otherwise LUT in Pow10() can be
reduced.
2014-09-03 01:02:38 +08:00
Milo Yip
c6e6bca22f
Merge pull request #130 from pah/fixes/capacity-growth
...
GenericValue: reduce growth factor for array/object reallocations
2014-09-02 22:11:34 +08:00
Kosta
697cf407c2
fixed a compiler error not caught by VS2012...
2014-09-01 12:01:25 +02:00