Philipp A. Hartmann
8d53689432
(Pretty)Writer: drop restriction to object/array roots
2014-08-11 17:14:31 +02:00
Milo Yip
0dbcc1cf2e
Add license and change indents from tab to space.
2014-08-11 22:26:45 +08:00
Milo Yip
c54915297b
Change CountDecimalDigit32() to simple implementation
...
It is simple and pure C++. And it is found in performance test that it
is even faster than the original version, due to distribution of n. But
the performance gain is not obvious in RapidJSON.
2014-08-11 00:30:31 +08:00
Milo Yip
1900b7bace
Remove double precision settings API in Writer
2014-08-09 21:37:02 +08:00
Milo Yip
0d915644a4
Fixed gcc effc++ warning in dtoa.h
2014-08-09 21:27:32 +08:00
Milo Yip
a7762a3453
Custom dtoa() impleemntation
...
Modified from Milo's Grisu2 implementation. 99.9% cases return shortest
decimal format.
2014-08-09 21:12:58 +08:00
Milo Yip
6978778884
Change double parsing with fast-path conversion
...
Accurate rounding in normal numerical ranges, also reduce lookup table
size.
2014-08-09 21:11:37 +08:00
Milo Yip
0e4f08ea89
Fix a compilation error due to INT64_C
2014-08-08 22:07:02 +08:00
Milo Yip
5e5fb7b3d8
Change UINT64_C() to RAPIDJSON_UINT64_C2()
...
Fix #94
2014-08-08 21:34:43 +08:00
Milo Yip
41dde39bbc
Merge pull request #96 from miloyip/issue91removeelement
...
Fix #91
2014-08-08 20:42:55 +08:00
Milo Yip
2f9544620b
Add UINT64_C()
macros for 64-bit integer literals in u64toa()
2014-08-01 00:25:56 +08:00
Milo Yip
c3ad232c3e
Fixes size type in Value::operator==()
2014-08-01 00:01:06 +08:00
Milo Yip
9892847021
Update documents about erase member/elements, also added some time complexity information.
2014-07-31 23:58:52 +08:00
Milo Yip
10098319fe
Merge pull request #92 from pah/issue91removeelement
...
Remove for object members, some cleanups for values
2014-07-31 19:19:44 +08:00
Philipp A. Hartmann
fc6d7a59dc
GenericValue: rename Erase(ConstMemberIterator) to EraseMember
2014-07-31 13:16:56 +02:00
miloyip
afe59a0db1
Makes StringEqual()
more safe by always compares lengths.
2014-07-31 19:08:37 +08:00
Philipp A. Hartmann
96af95c945
GenericValue: add Erase function for object members
2014-07-31 13:03:32 +02:00
Philipp A. Hartmann
c0fcdcc478
GenericValue: use generated assignment/destructor for GenericMember
2014-07-31 13:03:32 +02:00
Philipp A. Hartmann
59fee54f9d
GenericValue::Erase: pass ConstValueIterators
2014-07-31 13:03:32 +02:00
Philipp A. Hartmann
9a9c6d6810
GenericValue: improve Erase documentation
2014-07-31 13:03:32 +02:00
Philipp A. Hartmann
6ed9934143
GenericValue: document Array iterator functions
2014-07-31 13:03:32 +02:00
Philipp A. Hartmann
11d31aaa7b
fix typo
2014-07-31 13:03:32 +02:00
miloyip
71ae5660ed
Revert "Add Erase(ConstValueIterator) and Erase(ConstValueIterator,ConstValueIterator)"
...
This reverts commit 9ab2621e855a9abb8377520b42d6dfddcd49a8e1.
2014-07-31 18:56:57 +08:00
miloyip
9ab2621e85
Add Erase(ConstValueIterator) and Erase(ConstValueIterator,ConstValueIterator)
...
As std::vector::erase() overloads added in C++11
2014-07-31 18:53:17 +08:00
miloyip
71c8402549
Add equal-to and non-equal-to operators
2014-07-31 18:43:59 +08:00
miloyip
0f7d2dad51
Add 2 overloads of Erase() for removing elements of array.
2014-07-31 14:22:59 +08:00
Milo Yip
808d362b88
Fix parsing numbers which are less than 1e-308
...
Overflow should check sign of exponent.
2014-07-30 23:27:17 +08:00
miloyip
a32e2ac1d0
Fix SIMD page fault by using aligned load
2014-07-29 16:05:54 +08:00
Milo Yip
e6f344637b
Merge pull request #83 from miloyip/issue75stopwhendone
...
Issue75stopwhendone
2014-07-28 18:45:06 +08:00
Milo Yip
c545895368
Merge pull request #84 from miloyip/issue79memorystreambuffer
...
Add MemoryBuffer and MemoryStream
2014-07-28 18:45:00 +08:00
Milo Yip
b60bcc2762
Add MemoryBuffer and MemoryStream
2014-07-27 19:29:57 +08:00
Milo Yip
e09b9d5c05
Merge remote-tracking branch 'origin/master' into issue75stopwhendone
2014-07-27 17:13:32 +08:00
Milo Yip
c81386413b
Add kParseStopWhenDoneFlag, its implementation and related unit tests
2014-07-27 17:10:32 +08:00
Milo Yip
2a389ad659
Merge remote-tracking branch 'origin/master' into IterativeParseOptimization
2014-07-27 15:50:16 +08:00
Milo Yip
c4ce48cde9
Merge pull request #80 from miloyip/issue31optimizeitoa
...
Issue31optimizeitoa
2014-07-27 15:49:36 +08:00
Milo Yip
857865a166
Fix parse error message
2014-07-27 00:36:23 +08:00
Milo Yip
b99a515ef2
Define RAPIDJSON_FORCEINLINE for gcc
...
Performance boost a lot!
2014-07-26 23:23:52 +08:00
Milo Yip
58e0fb89b2
In iterative parsing, always use SizeType to prevent potential alignment problem on some platforms.
2014-07-26 22:21:06 +08:00
Milo Yip
7fa194d165
Force inline some suitable functions.
2014-07-26 21:56:11 +08:00
Milo Yip
6f382fd907
Cleanup code
2014-07-26 21:51:38 +08:00
Milo Yip
e3e8fea0f3
Remove stack size limit feature
...
It is not very useful for iterative parsing as the worst case of heap
size is O(n) where n is number of character in JSON, for the worst
synthetic cases. This is reasonable and should not create stack overflow
security problem as in recursive parsing.
2014-07-26 21:40:11 +08:00
Milo Yip
89865cb919
Use lookup table for Tokenize()
2014-07-26 21:23:37 +08:00
Milo Yip
01126defd2
Make Stack::Push() force inline in normal path
2014-07-26 20:28:35 +08:00
Milo Yip
e9597255b4
Make variables in Transit() more localized
2014-07-26 19:14:07 +08:00
Milo Yip
6f1646138a
Fixes stack overflow
2014-07-25 00:59:19 +08:00
Milo Yip
86b2f51a58
Use branchlut implementation for itoa conversion.
2014-07-25 00:08:24 +08:00
thebusytypist
4a152646d9
Fix compilation error for gcc/clang.
2014-07-18 00:12:04 +08:00
Milo Yip
46eeb46a61
Implemented faster itoa with bit counting and reverse write
2014-07-17 02:26:20 +08:00
thebusytypist
fa25f93ddb
Merge remote-tracking branch 'upstream/master' into TransitionTable
2014-07-16 23:16:33 +08:00
thebusytypist
b22a89bf3f
Reduce times of stack size check; reduce transition table size.
2014-07-16 22:09:50 +08:00