ylavic
92f99bc2ee
RAPIDJSON_NOEXCEPT_ASSERT() should never throw.
...
clang warns about throwing from RAPIDJSON_NOEXCEPT_ASSERT() in a nothrow
context.
If RAPIDJSON_ASSERT() throws it can never be used for _NOEXCEPT_ASSERT(),
so use C assert() instead.
Finally (and originally), since RAPIDJSON_ASSERT() in "unittest.h" throws,
make it define RAPIDJSON_ASSERT_THROWS for RAPIDJSON_NOEXCEPT_ASSERT() to
now do the right thing.
2019-05-09 13:37:49 +02:00
ylavic
b4538b5363
Fix compilation of sortkeys.cpp with MSVC 2013 (hopefully).
2019-05-09 13:37:49 +02:00
ylavic
94fc463801
Add missing curly brackets in STDREGEX's CreatePattern().
2019-04-29 15:06:52 +02:00
Malcolm Tyrrell
c840a7ae15
Fix vs2017 compile error C2105: '--' needs l-value
2019-04-15 10:00:14 +01:00
Milo Yip
01950eb7ac
Merge pull request #1488 from somone23412/somone23412-fix-typo-1
...
Update pointer.zh-cn.md : fix typo
2019-04-15 09:25:18 +08:00
quyan
0798d5b26e
fix typo
2019-04-15 00:43:37 +08:00
Milo Yip
e80257a924
Merge pull request #1481 from liangdzou/patch-1
...
add missing header "ios"
2019-04-09 13:21:59 +08:00
Liang ZOU
13687a6e3e
add missing header "ios"
...
add missing header "ios" for symbol "std:: streamsize"
2019-04-09 10:55:57 +08:00
Milo Yip
e123f650a9
Merge pull request #1479 from MaxXSoft/patch-tutorial
...
doc/tutorial.zh-cn: fixed some typos
2019-04-09 09:42:14 +08:00
MaxXSoft
d5c5b87f0d
doc/tutorial.zh-cn: fixed some typos
2019-04-08 19:20:06 +08:00
Milo Yip
55c3c241cf
Merge pull request #1477 from eisaev/patch-1
...
Fixed typo in allocators.h
2019-04-04 14:50:21 +08:00
eisaev
9264a9a7ef
Update allocators.h
...
Fixed typo
2019-04-03 22:10:30 +05:00
Milo Yip
091de040ed
Merge pull request #1462 from ra1u/master
...
Allow user to define custom RAPIDJSON_NOEXCEPT_ASSERT macro
2019-03-11 10:35:27 +08:00
Luka Rahne
40cae03b0d
Allow user to define custom RAPIDJSON_NOEXCEPT_ASSERT macro
2019-03-10 20:07:59 +01:00
Milo Yip
3cf4f7c5a0
Merge pull request #727 from mapbox/silence-dereference-null-pointer
...
Silence false positive clang-tidy warning
2019-03-06 09:33:13 +08:00
Milo Yip
7484e06c58
Update doxygen download URL
2019-02-11 15:17:59 +08:00
Milo Yip
1ede098e90
Workaround of sortkeys example
2019-02-11 14:14:35 +08:00
Milo Yip
b94c2a1203
Adding swap() for GenericMember
2019-02-08 11:39:25 +08:00
Milo Yip
0739a3e88b
Fix gcc compilation error in sortkeys
2019-02-06 20:35:20 +08:00
Milo Yip
f595f8a6a5
Update sortkeys.cpp
2019-02-06 19:59:09 +08:00
Milo Yip
1892013216
Merge pull request #1421 from HomeControlAS/sort_by_name_example
...
added example for sorting keys
2019-02-06 19:52:54 +08:00
Milo Yip
79a6dabd08
Merge pull request #1439 from ylavic/schema_pointer_allocator
...
Use the allocator of the Schema for its Pointer.
2019-02-06 19:31:03 +08:00
Milo Yip
93cb84a7bb
Merge pull request #1442 from rbilovol/cmake-fixup
...
CMake: remove hardcoded CMAKECONFIG_INSTALL_DIR path
2019-02-06 19:30:43 +08:00
Milo Yip
efad25970e
Merge pull request #1444 from leolchat/patch-1
...
Correct complexity claim
2019-02-06 19:30:11 +08:00
Léonard Gérard
bf09397285
Correct complexity claim
2019-01-31 22:29:07 -08:00
Ruslan Bilovol
8d272e53a4
CMake: remove hardcoded CMAKECONFIG_INSTALL_DIR path
...
Currently this path is hardcoded to lib/cmake.
Some distributions have different library path (like lib64).
So reuse LIB_INSTALL_DIR for that to make CMAKECONFIG_INSTALL_DIR
configurable and usable in such distros.
Signed-off-by: Ruslan Bilovol <rbilovol@cisco.com>
2019-01-24 18:38:14 +02:00
ylavic
dbb594bdb3
Use the allocator of the Schema for its Pointer.
...
The Pointer passed to construct the Schema can be from the stack or any
transient storage, so the copy stored in the Schema must have the same
lifetime/allocator as the Schema itself.
2019-01-10 18:42:16 +01:00
Milo Yip
bfdcf49110
Merge pull request #1426 from ylavic/pointer_less_than
...
Add "less than" operator to Pointer.
2018-12-19 16:25:09 +08:00
Milo Yip
b56eb28575
Merge branch 'master' into pointer_less_than
2018-12-18 09:32:09 +08:00
Milo Yip
8549e3db6a
Merge pull request #1431 from ylavic/pointer_swap
...
Allow to (std::)Swap two pointers.
2018-12-18 09:31:05 +08:00
ylavic
2ce91b823c
Pointer tests now need <algorithm> (for std::swap), but no tabs.
2018-12-17 14:45:23 +01:00
ylavic
a66cf7924c
Allow to (std::)Swap two pointers.
2018-12-17 14:33:32 +01:00
ylavic
eb6ee17d2d
Speed up Pointer::operator<().
...
Speed is more important than alphabetical order (which makes few sense in
JSON in general, and with pointers especially). The use case is indexing
in std containers, i.e. O(log n) with rbtree, so the faster comparison
the better.
2018-12-12 22:32:56 +01:00
ylavic
0e34ed43f4
Rework Pointer::operator<() loop.
...
I must be too dumb to understand the mess MSVC (32bit only) did with the
previous loop, and to figure out how it might have make it never end.
Anyway, hopefully any compiler can grok this new loop...
2018-12-12 15:15:43 +01:00
ylavic
af17f196c6
Unit test for Pointer::operator<().
2018-12-11 00:19:13 +01:00
ylavic
055f1fa61e
Add less than operator to Pointer.
...
Allows to sort pointers in (std-)containers and/or index by them.
2018-12-10 22:02:25 +01:00
Milo Yip
66eb6067b1
Merge pull request #1425 from ylavic/filereadstream_peek4
...
Fix off by one in FileReadStream::Peek4()
2018-12-06 23:44:10 +08:00
Milo Yip
b4b0e13b4d
Merge pull request #1424 from ylavic/file_input_streams
...
Optimize FileReadStream and BasicIStreamWrapper.
2018-12-06 23:43:48 +08:00
Milo Yip
eea3e57bcf
Merge pull request #1416 from ylavic/regex_syntax_noassert
...
GenericRegex: don't throw/abort on syntax error (unclosed parenthesis).
2018-12-06 23:41:45 +08:00
ylavic
38d25d7458
Fix FileReadStream::Peek4().
...
Until Read() reaches EOF, Peek4() must not take off by one in
bufferLast_ into account; otherwise a buffer of size exactly 4 always
returns NULL.
2018-12-06 08:38:21 +01:00
ylavic
8aab3db129
Base buffered BasicIStreamWrapper on the original (better performing) FileReadStream algorithm.
2018-12-06 00:21:05 +01:00
ylavic
124e8b6079
Possibly std::ios::binary helps with streams on Windows
2018-12-05 18:35:45 +01:00
ylavic
2498c5776f
Optimize FileReadStream and BasicIStreamWrapper.
...
On (my) linux, perftest reports:
- ~40% gain for FileReadStream (Take() loop),
- ~10% gain for ReaderParse_DummyHandler_FileReadStream.
With the same logic applied to BasicIStreamWrapper, which thus can now
also be created with a user buffer, performances align with those of
FileReadStream (same buffer size).
The "unbuffered" versions (added for FileReadStream) work solely with
the internal peekBuffer (Ch[4]) and are measured in perftest. When
performances don't matter much, they can avoid the use of large
stack/heap buffers.
2018-12-05 16:43:54 +01:00
seky
d0188462d9
removed std::string and receiving const Value in printIt
2018-12-05 08:24:59 +01:00
seky
c9060b4a5c
added example for sorting keys
2018-12-04 22:40:40 +01:00
ylavic
8c14787398
Unit test for invalid GenericRegex (unclosed parenthesis).
2018-12-03 11:49:34 +01:00
ylavic
be96f4d7fb
GenericRegex: don't throw/abort on syntax error (unclosed parenthesis).
2018-12-03 11:42:29 +01:00
Milo Yip
30d92a6399
Merge pull request #1413 from ylavic/schema_regex_leak
...
Fix a memory leak for invalid std::regex in Schema.
2018-12-03 09:53:39 +08:00
Milo Yip
1c5b90f409
Merge pull request #1414 from ylavic/regex_allocator
...
Use passed in allocator for internal regex parser.
2018-12-03 09:51:50 +08:00
ylavic
3e6956767e
Fix a memory leak for invalid std::regex in Schema.
2018-12-01 23:36:45 +01:00