Paul Dreik
75545ff70d
ref qualify parser methods to avoid use of dangling objects ( #703 )
...
To avoid using data belonging to a temporary, the parse functions are ref qualified to get a compile error if used on an rvalue. See https://github.com/simdjson/simdjson/issues/696
Compilation tests are also added, to make sure bad usage fails to compile.
Reviewed by jkeiser.
2020-04-15 09:57:52 +02:00
Daniel Lemire
3c6ef83046
Trying to correct the documentation so that it actually describes how the code behaves. (Attempt two) ( #712 )
...
* Trying to correct the documentation so that it actually describes how the code behaves.
* tweaking the wording.
* Improving.
* Removing confusing sentence.
* Fixing formatting.
* Now with working example, tested.
* Added a smaller piece of code
2020-04-14 22:31:21 -04:00
John Keiser
b9ac0a79f1
Merge pull request #715 from simdjson/jkeiser/thorough-type-tests
...
Test more variants of cast, get, etc.
2020-04-14 16:08:36 -07:00
Daniel Lemire
8539896f3d
It is inconvenient to be unable to print a padded_string. ( #713 )
...
* It is inconvenient to be unable to print a padded_string.
* Allows us to print the padded_string even when it is embedded in result object when exceptions are enabled.
2020-04-14 19:07:32 -04:00
John Keiser
a3b508ceff
Test get<>(), exception vs. no exception, explicit vs. implicit cast
2020-04-14 13:18:42 -07:00
John Keiser
1ff22c78b3
Add quickstart to cmake
2020-04-09 14:56:54 -07:00
John Keiser
ceb1def55c
Add quicktests, slowtests to cmake
...
- Also add testjson2json.sh
- Move test scripts to tests directory to consolidate concerns
2020-04-09 14:21:45 -07:00
John Keiser
7317fe1440
Don't reinitialize submodules
...
Add ability to turn competitive benchmarks off (no need for submodules)
2020-04-09 08:52:29 -07:00
John Keiser
6dabfa176a
Add competition libraries
2020-04-09 08:52:29 -07:00
John Keiser
218c867f46
Disable failing VS2017 tests in cmake
2020-04-08 14:58:28 -07:00
John Keiser
beaa6a9a7a
Create simdjson-windows-headers interface library
2020-04-08 14:52:56 -07:00
John Keiser
a9c8224f40
Add numberparsingcheck and stringparsingcheck tests
2020-04-08 14:52:56 -07:00
John Keiser
3dcc188d93
Add more tests to cmake
2020-04-08 14:52:56 -07:00
John Keiser
10b7556a37
Specify cmake tests, benchmarks and tools idiomatically
2020-04-08 14:52:56 -07:00
John Keiser
54b7291c34
Reference simdjson by name, don't specify include files individually
2020-04-08 14:52:55 -07:00
John Keiser
1e30b6e334
Compile under C++ 11
2020-04-08 14:00:13 -07:00
John Keiser
406240bae3
Support C++ 14
2020-04-08 14:00:13 -07:00
John Keiser
6eec2d6b4f
Simplify cars example
2020-04-05 09:15:20 -07:00
Daniel Lemire
5731c5437a
Sanity test. ( #675 )
2020-04-04 16:39:37 -04:00
Daniel Lemire
04f14ec026
This adds a test for std::ignore ( #674 )
2020-04-04 11:53:03 -04:00
John Keiser
13aee51011
Add element.type() for type switching
2020-04-02 14:07:19 -07:00
John Keiser
d93af1161d
Remove set_capacity, replace with allocate
...
Makes allocation point more predictable
2020-03-30 13:49:54 -07:00
John Keiser
434776db1a
Deprecate more things
2020-03-30 13:48:43 -07:00
John Keiser
2115596ed3
Compile performance.md examples in tests
2020-03-29 16:28:34 -07:00
John Keiser
0e3453f7c2
Compile examples from implementation-selection.md
2020-03-29 16:28:34 -07:00
John Keiser
7ed65e42d7
Add actual examples from basics.md to readme_examples
2020-03-29 16:28:29 -07:00
John Keiser
ea8a5020e2
Remove array indexer, make object indexer key lookup
2020-03-28 15:56:43 -07:00
John Keiser
622d9c9480
Replace as_X and is_X with get<T> and is<T>
2020-03-28 15:29:53 -07:00
John Keiser
62da98aef6
Rename dom::stream to dom::document_stream
2020-03-28 13:42:24 -07:00
John Keiser
03746b966b
Move document/element/etc. under dom
2020-03-28 13:42:21 -07:00
John Keiser
e836c28008
Deprecate parser error code methods
...
- Also make competitions compile without warnings
2020-03-28 10:13:20 -07:00
John Keiser
5ad405006c
Return document::element from parse, load, parse_many, load_many
2020-03-27 12:24:41 -07:00
John Keiser
90a7503181
Rename pj -> doc, fix a few other idioms
2020-03-27 09:22:46 -07:00
John Keiser
c14b2fb36c
Remove const char* variants for at_key()
...
- Remove const char * variants for at_key(), string_view covers them
- Add at_key_case_insensitive variants on *_result
- Add at(), at_key(), at_key_case_insensitive() tests
2020-03-27 09:09:08 -07:00
John Keiser
f0f111b387
Make ParsedJson::Iterator backcompat test
2020-03-27 09:07:39 -07:00
Daniel Lemire
6a8ec95a46
Various fixes.
2020-03-26 20:08:54 -04:00
Daniel Lemire
b6c6680add
Ported jsoncheck.
2020-03-26 19:56:04 -04:00
Daniel Lemire
5fb149f833
Converted inter_tests...
2020-03-26 19:52:17 -04:00
Daniel Lemire
abb0bf9247
Fixed basictests
2020-03-26 19:40:29 -04:00
Daniel Lemire
8f3ddd3a73
Updating allparserscheckfile
2020-03-26 17:15:33 -04:00
John Keiser
2e420169c3
Remove document::parse and document::load
2020-03-26 10:13:09 -07:00
John Keiser
5aec2671ea
Remove JsonStream. Use parse_many() instead.
2020-03-26 09:25:07 -07:00
John Keiser
a0bce440a6
Remove document_iterator, document::iterator, ParsedJsonIterator
...
Keep ParsedJson::Iterator only, without template, in same form as
it was in 0.2
2020-03-25 18:26:51 -07:00
John Keiser
e1b1500e3b
Make _padded available without using namespace simdjson
2020-03-25 09:37:18 -07:00
John Keiser
b28cafc1d1
Remove backslash unescaping from JSON pointer impl
...
Also speed up non-escaped key lookup
2020-03-25 08:56:40 -07:00
John Keiser
0bcda5e384
Support JSON pointer in DOM navigation model
2020-03-23 15:05:20 -07:00
John Keiser
c34b1a1b2a
Organize basic tests to make easier to turn on/off
2020-03-21 18:12:16 -07:00
John Keiser
e4df0ca368
Add parse, parse_many, load, load_many tests
2020-03-21 18:12:16 -07:00
Daniel Lemire
8a91cecf41
testing only with ok documents.
2020-03-21 18:12:16 -07:00
Daniel Lemire
04e8710cf5
Testing issue 570
2020-03-21 18:12:16 -07:00