Daniel Lemire
16e8db1f17
Adding 'count_elements' method. ( #1577 )
...
* Adding 'count_elements' method.
* Actually reporting errors.
* removing white space.
* Removing white space again.
* Adding an extra example.
* Prettier.
* Making the functionality more error-proof.
* Avoiding exceptions.
* Various fixes including extending count_elements to value types.
* Various fixes.
* Minor fixes.
* Correcting comment.
* Trimming white spaces.
2021-06-06 17:56:00 -04:00
Daniel Lemire
19c3b1315a
Rewind functionality. ( #1539 )
...
* Rewind functionality.
* Keeping just the document rewind.
2021-06-04 09:22:33 -04:00
Daniel Lemire
1032f70ddf
Verifies and fixes issue 1588 ( #1589 )
...
* Verifies and fix issue 1588
* Removing a trailing space.
2021-05-27 19:35:42 -04:00
John Keiser
bcab8d3abf
Check for end object/array at top level
...
This avoids a very unlikely buffer overrun that can occur in a particular kind of invalid JSON:
- the document is invalid with an unclosed top level array or object
- the last thing in the document is a number that ends at EOF
- the padding is filled entirely with numeric digits
2021-02-22 09:35:21 -08:00
John Keiser
3076de0405
Use SIMDJSON_DEVELOPMENT_CHECKS instead of SIMDJSON_PRODUCTION
...
Don't enable in retail
2021-02-20 11:46:01 -08:00
John Keiser
14315ec5cd
Default SIMDJSON_PRODUCTION to OFF for bare header usage
2021-02-06 11:06:37 -08:00
John Keiser
9d693da852
Only set container depth when a container iteration starts
2021-02-05 17:20:24 -08:00
John Keiser
0d1c99a6ad
Allow object lookup safety to be disabled
...
Use cmake -DSIMDJSON_API_USAGE_CHECKS=OFF ..
2021-02-05 10:18:01 -08:00
John Keiser
e4626d233c
Descend into fields at the value position, not the key
2021-02-05 10:18:01 -08:00
John Keiser
9934f65987
Store start index of each depth for safety
2021-02-05 10:17:28 -08:00
John Keiser
38da15b501
Rename checkpoint() -> position(), add token_position type
2021-01-11 15:19:24 -08:00
John Keiser
0f515785c6
Support reading scalars out of order
2021-01-11 15:17:46 -08:00
John Keiser
6fed8d2a26
Use active implementation for stage 1 on demand
2021-01-11 14:57:52 -08:00
John Keiser
b8426584fc
Make field lookup order-insensitive.
2020-12-19 13:57:29 -08:00
John Keiser
f9c6dedca1
Add test for out-of-order parse asserts
2020-12-13 13:39:47 -08:00
John Keiser
73c7b7db3d
Safety: check index of scalar values before use
2020-12-11 11:57:09 -08:00
John Keiser
3baba73cf5
Don't call functions in assume (VS2019 Clang doesn't like it)
2020-12-07 11:17:24 -08:00
John Keiser
3aa3175378
Add tests for recovering from partial child iteration
2020-12-06 16:19:06 -08:00
John Keiser
c89647af9e
Make all values use same underlying iterator
2020-12-06 15:23:52 -08:00
John Keiser
1303a88769
Unconditionally track depth
2020-12-06 15:23:52 -08: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
2ba67c2bc2
[WIP] && and & versions of each operator
2020-10-06 11:29:45 -07:00
John Keiser
cae91983ec
Fix issue with early destruction
2020-10-06 11:29:45 -07:00
John Keiser
c7c1372833
Allow reuse of value to try multiple types
2020-10-06 11:29:45 -07:00
John Keiser
512a94afaa
Move error to json_iterator
2020-10-06 11:29:45 -07:00
John Keiser
4859cb8528
Add SIMDJSON_ONDEMAND_SAFETY_RAILS
2020-10-06 11:29:45 -07:00
John Keiser
c42b91980b
Fix VC++ forward friend declarations
2020-10-06 11:29:45 -07:00
John Keiser
a700848bae
Move ondemand implementation to include/
2020-10-04 12:47:30 -07:00