John Keiser
eda0f190ea
Don't allocate when parsing root number
2021-06-06 13:01:46 -07:00
Daniel Lemire
76f7e4ae04
Merge branch 'master' into jkeiser/no-padding
2021-05-07 23:03:39 -04:00
Daniel Lemire
85b910814e
Under ARM, it is slightly better to reverse the word once and then extract the bits. ( #1545 )
...
* Under ARM, it is slightly better to reverse the word once and then extract the bits.
* Guarding the zero_leading_bit call to avoid sanitizer warnings.
2021-04-30 18:34:21 -04:00
Daniel Lemire
d7b08c84c7
Merge branch 'master' into jkeiser/no-padding
2021-04-23 10:18:42 -04:00
Daniel Lemire
8eed8f5155
Document stream: truncate final unfinished document and give access to the number of truncated bytes. ( #1534 )
...
* Truncate final unclosed string.
* Adding more precise remarks.
* Better documentation and more robust code.
* ARM + PPC corrections.
* Patching ARM implementation with new stage1_mode parameter.
* Fixed most problems.
* Correcting white spaces and adding a remark.
* This adds the truncated_bytes() method to the stream instances.
2021-04-23 09:24:00 -04:00
Daniel Lemire
6ca6ee5a6f
Correcting what seems to be a typo and adding some extra logging. ( #1535 )
2021-04-04 12:25:05 -04:00
John Keiser
7f545a8996
Normalize the words "position" and "end"
2021-03-20 14:23:38 -07:00
Daniel Lemire
dc2f767171
Ensuring that stage 1's json_block and cie are never copied and using explicit constructors (issue 1475) ( #1478 )
2021-03-04 07:59:36 -05:00
Daniel Lemire
0c199cffc3
Removing mallocs in main library. ( #1468 )
2021-03-02 13:09:22 -05:00
Daniel Lemire
26b5b19f88
Unneeded.
2021-02-02 17:58:10 -05:00
Tibbel
5613d30e97
partly replacement old-style-cast to c++ *_cast ( #1403 )
...
Co-authored-by: Tibbel <tibbel@ma-gi.de >
2021-01-27 13:33:48 -05:00
Daniel Lemire
8c4cf7757f
I meant to remove these files a while ago.
2020-12-18 15:29:08 -05:00
Daniel Lemire
d9c4191e8a
This should fix an issue we have with unclosed strings with document_stream ( #1321 )
...
* This should fix an issue we have with unclosed strings.
* Patching the fallback kernel.
* Better guarding the code.
* Patching the fallback.
2020-11-30 13:43:57 -05:00
Paul Dreik
af4db55e66
remove trailing whitespace ( #1284 )
2020-11-03 21:48:09 +01:00
Daniel Lemire
bb2bc98a22
Fix issue https://github.com/simdjson/simdjson/issues/1127 ( #1224 )
2020-10-13 09:18:54 -04:00
John Keiser
8b978e6aea
Don't call functions max() (conflicts with Windows macro)
2020-10-04 12:47:30 -07:00
John Keiser
a700848bae
Move ondemand implementation to include/
2020-10-04 12:47:30 -07:00
John Keiser
9bbfd5804e
Put haswell/westmere/fallback/amd64 in simdjson namespace
2020-10-04 12:47:30 -07:00
John Keiser
b234d74f43
Remove unnamed namespace from ondemand
2020-10-04 12:47:30 -07:00
John Keiser
cd49ff330d
Fix g++-7 quickstart errors
2020-10-04 12:47:30 -07:00
John Keiser
49faf7af1a
Make simdjson_result implementation-specific
2020-10-04 12:47:30 -07:00
John Keiser
c892b83c93
Make ondemand classes usable from simdjson_result
2020-10-04 12:47:30 -07:00
John Keiser
8fd0cdc732
Iterate value without going through indirection
...
Avoids issues with value being released early
2020-10-04 12:47:30 -07:00
John Keiser
fe7a4d42d3
Fix top level values
2020-10-04 12:47:30 -07:00
John Keiser
7c2072789c
Fix issue with strings not including their first character
2020-10-04 12:47:30 -07:00
John Keiser
21b6279b74
Add document-level number/atom parsing
2020-10-04 12:47:30 -07:00
John Keiser
4d89076bdc
Check for EOF when skipping containers
...
Revert that?
Or not
2020-10-04 12:47:30 -07:00
John Keiser
71e4ff7e03
Fix compile errors on C++11/noexcept
2020-10-04 12:47:30 -07:00
John Keiser
d2dfda6583
Ensure iterator is kept alive while iterators are active
2020-10-04 12:47:30 -07:00
John Keiser
6a855f528b
Ensure only leaf values can push the iterator
2020-10-04 12:47:30 -07:00
John Keiser
fb93109c2d
Use default constructors/assignment where possible
2020-10-04 12:47:30 -07:00
John Keiser
bd190af7a3
Require iterators to finish cleanly and release
2020-10-04 12:47:30 -07:00
John Keiser
44268b0c6b
Remove object::has_next
2020-10-04 12:47:30 -07:00
John Keiser
6451e5e7d1
Remove array::has_next
2020-10-04 12:47:30 -07:00
John Keiser
2b3c4c68e4
Ride the lightning
2020-10-04 12:47:30 -07:00
John Keiser
7030cf2433
Release object/array after finished
2020-10-04 12:47:30 -07:00
John Keiser
26d7881b80
Require value to be deleted after most value conversions
2020-10-04 12:47:29 -07:00
John Keiser
21fe42b28c
Release the iterator after use
2020-10-04 12:47:29 -07:00
John Keiser
d5ecf68d26
Make json_iterator_ref unique
2020-10-04 12:47:29 -07:00
John Keiser
0ddff4ec7d
json_iterator * -> json_iterator_ref
2020-10-04 12:47:29 -07:00
John Keiser
283ac3191f
Rename parse->iterate, add iterate_raw
2020-10-04 12:47:29 -07:00
John Keiser
4dd0c80dad
Move current_string_buf_loc to json_iterator
2020-10-04 12:47:29 -07:00
John Keiser
3b53c6ca47
Use json_iterator as shared state instead of document
2020-10-04 12:47:29 -07:00
John Keiser
a90b8fb449
Remove depth tracking from ondemand api
2020-10-04 12:47:29 -07:00
John Keiser
1da509027e
Add root number/atom parsing functions
2020-10-04 12:47:29 -07:00
John Keiser
5b96e4761e
Remove side-effecting assumption
2020-10-04 12:47:29 -07:00
John Keiser
311ea79238
Fix noexceptions builds
2020-10-04 12:47:29 -07:00
John Keiser
cfcb0d4fb7
Use json_iterator in array/object
2020-10-04 12:47:29 -07:00
John Keiser
97d03f3215
token_iterator -> json_iterator
2020-10-04 12:47:29 -07:00
John Keiser
0a6260b1d8
Fix clang 6 compile issue
2020-10-04 12:47:29 -07:00