695 Commits

Author SHA1 Message Date
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
Philipp A. Hartmann
c2b5864927 add documentation for 'swap' friend functions 2015-07-13 14:38:24 +02:00
Philipp A. Hartmann
46e1696316 add free inline swap functions 2015-07-13 09:35:15 +02:00
Philipp A. Hartmann
0ebe16e169 add and use simplified "internal::Swap"
This avoids the dependency on the <algorithm> header, as suggested by
@miloyip in #376.
2015-07-10 17:06:52 +02:00
yuzhaol
7567752710 Declare intrinsic function to avoid LNK2019 in x64 debug mode
Add #pragma intrinsic(_umul128) for MSVS 2005
2015-07-09 22:42:24 +01:00
yuzhaol
8e61b72678 Declare intrinsic function to avoid LNK2019 in x64 debug mode
Add #pragma intrinsic(_umul128) for MSVS 2005
2015-07-09 22:39:38 +01:00
Philipp A. Hartmann
dd901f498b add GenericDocument<>::Swap
See #368.
2015-07-04 01:57:24 +02:00
Mateusz Łoskot
8197805208 Add explicit specifier to GenericDocument ctor.
@pah recommended to mark this constructor as explicit to avoid accidentally creating a temporary GenericDocument from a Type enum value (because all arguments but the first one are optional).
2015-07-01 22:36:26 +02:00
Mateusz Loskot
a0177ca210 Add documentation for new GenericDocument ctor taking object type.
Update also documentation of the existing GenericDocument constructor.
2015-06-30 10:28:07 +02:00
Mateusz Loskot
413144a8b2 Add GenericDocument ctor overload to specify JSON type.
It unifies the interfaces with Value where kXXXType can be passed
into constructor.
It enables shortcut that helps to avoid extra SetXXX() call following
construction of a document.
2015-06-26 16:00:49 +02:00
Milo Yip
a326314a61 Fix #538 2015-06-18 15:40:39 +08:00
Milo Yip
81678272a2 Fix #349 emscripten alignment issue 2015-06-04 16:07:43 +08:00
miloyip
ce0184e73b Add and fix -Wimplicit-fallthrough for clang, revert #350 2015-06-03 23:53:14 +08:00
Kal Conley
013b71b92f Fix warnings when compiling with clang and -Wimplicit-fallthrough 2015-05-31 20:35:55 +02:00
Milo Yip
d4d03cab1c Use internal regex as default in schema validator 2015-05-29 19:04:17 +08:00
Milo Yip
b8d2f7e660 Merge regex into schema 2015-05-29 18:39:16 +08:00
Milo Yip
a8feeb4c3e Add invalid regex tests and fix a bug 2015-05-29 17:42:08 +08:00
Milo Yip
c0e7c8304b Fix a bug and add document in regex 2015-05-29 16:02:14 +08:00
Milo Yip
3eb19ceaf9 Add Search(), ^ and $ assertions to regex 2015-05-29 15:23:28 +08:00
miloyip
a5ac3b5dbc Remove an unused line of code 2015-05-28 10:44:52 +08:00
miloyip
960bc0eabd Fix gcc warning 2015-05-28 10:10:38 +08:00
miloyip
56b205264c Refactor to store minIndex in Frag of regex 2015-05-28 00:05:05 +08:00
miloyip
fa7dc1c439 Add numbered quantifier 2015-05-27 23:39:22 +08:00
miloyip
51bb7631f4 Refactor regex with DecodedStream with one look-ahead character 2015-05-27 14:25:00 +08:00
miloyip
0dffe87551 Add character class escapes 2015-05-27 09:56:06 +08:00
miloyip
92285bed44 Add escape characters and control characters 2015-05-27 09:37:55 +08:00
miloyip
1784afe5f7 Add character class to regex 2015-05-26 00:40:23 +08:00
miloyip
06853b89b0 Add any character (.) to regex 2015-05-25 22:51:03 +08:00
miloyip
3c9ceb32a5 Add doxygen notes for regex 2015-05-25 22:09:32 +08:00
miloyip
328b0d8afc Minor refactor regex 2015-05-25 19:49:07 +08:00
miloyip
994b0dfea2 Clean up regex 2015-05-25 19:42:23 +08:00
miloyip
a386934288 Add ?*+ to regex 2015-05-25 19:34:47 +08:00
miloyip
05c79891d1 Add parenthesis support in regex 2015-05-25 09:14:51 +08:00
miloyip
0bef29a5f6 Initial reggae implementation with only concatenation and alternation 2015-05-24 21:23:39 +08:00
miloyip
a2d09f0a03 Refactor GenericPointer::Erase() 2015-05-21 16:13:02 +08:00
miloyip
6e1d10ec6b Add GenericValue::EraseMember(string types) APIs 2015-05-21 16:12:33 +08:00
miloyip
1a570c342d Fix the undefined behaviour when negating the minimum value integers in Reader 2015-05-21 16:00:32 +08:00
miloyip
85c8b657c0 Achieve zero heap allocation for SchemaValidator.TestSuite 2015-05-17 22:22:53 +08:00
miloyip
e20645f0d1 Add optional allocator for Pointer default/copy constructor 2015-05-17 22:20:56 +08:00
miloyip
3919348602 Refactor hasher construction 2015-05-17 20:43:52 +08:00
miloyip
69c58b584f Use state allocator for all context states 2015-05-17 18:58:57 +08:00
miloyip
87d1f95551 Use state allocator for creating parallel validators 2015-05-17 18:06:43 +08:00
miloyip
7ef7ba13f0 Refactor: aggregate parallel validators 2015-05-17 13:07:12 +08:00
miloyip
5e220bbfbc Change schema literal strings to Value type, eliminates StrLen() 2015-05-17 11:02:53 +08:00
miloyip
a92c3b6995 Make schema working for UTF-16 and other encodings 2015-05-17 10:21:58 +08:00