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
b3a22bea56
My third attempt at fixing issue 1521 (not being merged due to performance concerns) ( #1530 )
...
* Reduction of the missing-key bug.
* Adding the other test cases.
* Really simple fix for 1529
2021-04-05 11:55:39 -04:00
Daniel Lemire
d0821adf0e
This implements string serialization for On Demand instances. ( #1527 )
...
* This implementations string serialization for On Demand instances.
* Adding more documentation.
* Another remark.
* Marking the new functions as inline.
* casts apparently do not work.
* Upgrading the API.
* Making the code really free from exceptions.
* At another fix for exceptionless.
* Modify to_chars so that it does not pad integers with '.0'.
* Negative 0 cannot be expressed as an integer.
* Again, accomodating exceptionless usage.
* Using x <= -0 does not allow you to determine the sign since 0 <= -0. I am not sure where
this bug comes from.
2021-04-01 11:25:00 -04:00
Daniel Lemire
ddf610125f
Easy fix. ( #1507 )
2021-03-19 19:53:22 -04:00
Daniel Lemire
b6cce3d744
Let us stop evoluating. ( #1506 )
2021-03-18 22:42:36 -04:00
Daniel Lemire
8a3b2f20e4
Version 0.9.1
2021-03-18 11:31:38 -04:00
Daniel Lemire
62cd5f7984
get_root_value is dead code that should have been removed.
2021-03-18 11:30:40 -04:00
Daniel Lemire
2db4592571
Last commit for version 0.9.0. ( #1503 )
...
* Last commit for version 0.9.0.
* Removing space.
2021-03-17 11:08:44 -04:00
Daniel Lemire
02f9b83353
This moves us to On Demand as the default front-end. ( #1494 )
...
* This moves us to On Demand as the default front-end.
* Made casting magical
* Adding another section
* Undoing my damage.
2021-03-12 14:19:11 -05:00
John Keiser
cfc965ff9a
Merge pull request #1490 from simdjson/jkeiser/single-ondemand
...
Don't compile On Demand with extra flags
2021-03-09 16:03:58 -08:00
John Keiser
751696d7eb
Move implementation selection to implementations.h
2021-03-09 09:10:08 -08:00
Daniel Lemire
8b8af6aee5
Making input capacity more robust. ( #1488 )
2021-03-09 09:58:38 -05:00
Daniel Lemire
8e8fbc4cff
fixing issue 1480 ( #1485 )
2021-03-08 19:31:42 -05:00
John Keiser
985dfab2c4
Don't use TARGET unless the target options are *not* specified
...
This eliminates the possibility of inlining target failures for ondemand
Also makes it so we always compile common architectures needed by simdjson.cpp in simdjson.h, since amalgamation has no way to reason about whether to include / exclude it.
2021-03-08 13:49:09 -08:00
John Keiser
633161fe86
Don't include target flags if the compiler already has them on
2021-03-08 13:48:58 -08:00
John Keiser
f51d50399c
Only include builtin implementation from header
2021-03-08 13:48:53 -08:00
John Keiser
cf4e538536
Separate builtin implementation from "all implementations"
2021-03-06 13:08:42 -08:00
John Keiser
ec5ba79447
Add base.h to allow src/ to pick and choose includes
2021-03-05 11:48:34 -08:00
John Keiser
bad582c2d3
Add value.raw_json_token()
2021-03-05 09:07:41 -08:00
John Keiser
f55893807a
Merge pull request #1473 from simdjson/jkeiser/promise-padded
...
Support user-provided buffers in On Demand
2021-03-04 20:56:34 -08: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
John Keiser
f0e92e3bdd
Pass "capacity" straight to iterate, support std::string
2021-03-03 12:51:00 -08:00
John Keiser
3db1a214ce
Support user-provided buffers via promise_padded
2021-03-03 12:50:56 -08:00
John Keiser
665514692a
Remove UTF-8 from source code
2021-03-03 12:10:59 -08:00
John Keiser
9944db6d73
Move json_type to ondemand to prevent target mismatch inline errors
2021-03-02 18:31:17 -08:00
John Keiser
2ed24666b5
Add value.type()
2021-03-02 17:02:50 -08:00
John Keiser
29fe1866ef
Move dom / implementations include into their own spots
2021-03-02 09:53:28 -08:00
Daniel Lemire
4811c8036b
Update the tape description and the dump_tape function ( #1465 )
...
* Would fix issue 1446
* Trimming spaces.
2021-03-01 18:47:11 -05:00
rychale
9d22372cc9
Make dom::document_stream::iterator copyable and default-constructible by holding pointer to document_stream instead of ref ( #1463 )
...
Co-authored-by: Alexey Rychkov <arychkov@defytrading.com>
2021-03-01 14:40:51 -05:00
Daniel Lemire
9577c54999
Provide the CMake install the necessarily information (and flags) to hand Windows DLL and add Windows installation tests ( #1457 )
...
* This gives the CMake install the necessarily information (and flags) to know
whether we have a Windows DLL and in such cases how to handle the linkage.
2021-02-26 16:17:05 -05:00
Daniel Lemire
ef1e256fa7
Workaround for SIMDJSON_ASSUME "side-effect" warning under some compilers. ( #1456 )
2021-02-25 08:50:57 -05:00
Daniel Lemire
ad37651726
Guarding undefined templates with a static_assert. ( #1454 )
...
* Guarding undefined templates with a static_assert.
* Fixing comments.
* Undeprecating (or whatever you want to call it).
2021-02-22 16:54:47 -05:00
John Keiser
cdb607f202
Add comments on confusing "simdjson_unused"
2021-02-22 09:39:09 -08: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
9d747642fe
Merge pull request #1452 from simdjson/jkeiser/safe-iter-fix
...
Fix bug reporting out of order iteration
2021-02-22 09:34:49 -08:00
John Keiser
a755203aee
Update value_iterator-inl.h
2021-02-22 09:34:20 -08:00
John Keiser
814726e5d4
Merge pull request #1432 from simdjson/jkeiser/safe-lookup
...
Alert user when they use object indexing incorrectly
2021-02-22 09:31:59 -08:00
John Keiser
c4a312e6c3
Fix strict overflow warning
2021-02-21 14:06:58 -08:00
Daniel Lemire
81609393f1
Fixing issue 1449. ( #1451 )
2021-02-21 16:33:05 -05:00
John Keiser
0634958329
Don't emit out of order iteration error for empty array
2021-02-21 11:43:36 -08:00
John Keiser
b352b903e7
Fix bug where iterators didn't always report errors
2021-02-21 11:43:36 -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
Daniel Lemire
610b3ad302
Adds Visual Studio 2017 to CI (for real) and adapt our build/tests ( #1444 )
2021-02-15 19:49:12 -05:00
Daniel Lemire
4c63a929bc
This makes it possible to a have document instance (DOM) that is separate from the parser if you would like. ( #1430 )
...
* This makes it possible to a have document instance that is separate from the parser if you would like.
2021-02-10 14:44:53 -05:00
John Keiser
df7201ba42
Fix Windows assume error
2021-02-06 11:06:53 -08:00
John Keiser
14315ec5cd
Default SIMDJSON_PRODUCTION to OFF for bare header usage
2021-02-06 11:06:37 -08:00
John Keiser
0f10fc9ad9
Fix Windows _assume warning
2021-02-05 18:53:39 -08:00
John Keiser
ce678fd986
Fix GCC 7 strict-overflow warning
2021-02-05 18:53:31 -08:00
John Keiser
9d693da852
Only set container depth when a container iteration starts
2021-02-05 17:20:24 -08:00
John Keiser
22742b6bd6
Make max_depth() a simple check
2021-02-05 17:11:03 -08:00