John Keiser
1ff55c2729
Replace auto [x,error] with .get() everywhere
2020-06-21 16:26:59 -07:00
John Keiser
6fa5abcd7e
Replace x.get<T>() with x.get(v) or T(x)
2020-06-21 14:36:38 -07:00
John Keiser
a7fc7d4ffb
Switch from get(v,e) to e = get(v)
2020-06-20 17:57:09 -07:00
John Keiser
f336103f63
Convert tools/docs/benchmarks to bool get() idiom
2020-06-20 17:55:46 -07:00
Daniel Lemire
2fe2dd170b
The "competition tests" are being made portable ( #907 )
...
* More portable competition
* This will enable SIMDJSON_COMPETITION everywhere by default.
* Minor fixes
2020-05-31 20:34:06 -04:00
John Keiser
e6c9dfbd91
Make include files more fine-grained
2020-05-19 14:42:04 -07:00
Daniel Lemire
fa4ce6a8bc
There is confusion between gigabytes and gigibytes. Let us standardize throughout. ( #838 )
...
* There is confusion between gigabytes and gigibytes.
* Trying to be consistent.
2020-05-01 12:16:18 -04:00
John Keiser
d4a37f6ef5
Enable conversion warnings on Linux and Windows
2020-04-22 14:21:30 -07:00
Daniel Lemire
6d7c77ddc1
Let us try to check with the exceptions disabled. ( #707 )
...
* Tweaking code so that we can run all tests with exceptions off.
* Removing SIMDJSON_DISABLE_EXCEPTIONS
2020-04-15 16:45:36 -04: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
03746b966b
Move document/element/etc. under dom
2020-03-28 13:42:21 -07:00
Daniel Lemire
450e19858b
Minor fix to distinctuseridcompetition
2020-03-28 15:56:10 -04: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
2e420169c3
Remove document::parse and document::load
2020-03-26 10:13:09 -07:00
Daniel Lemire
ab0e22a316
Trying to migrate distinctuseridcompetition to new API. ( #624 )
...
* Trying to migrate distinctuseridcompetition to new API.
* Ok. Good performance + got rid of old API.
2020-03-26 12:06:28 -04: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
8e2c06cb0e
Compile with -fno-exceptions
2020-03-17 13:54:37 -07:00
John Keiser
1a5d8f1957
Add tests for SIMDJSON_EXCEPTIONS=0, add `tie()` support
2020-03-17 13:54:37 -07:00
John Keiser
40c6213d7e
Add parser.load() and load_many() to load files
2020-03-11 17:19:41 -07:00
John Keiser
99667f7c55
Create top level simdjson.h ( #515 )
...
- Allows everyone to #include the same way, singleheader or not.
2020-03-04 10:12:27 -08:00
John Keiser
1f76737510
Make valstat-ish parse APIs
2020-02-18 08:37:07 -08:00
John Keiser
8e7d1a5f09
Separate document state from ParsedJson
...
This creates a "document" class with only user-facing document state (no parser internals).
- document: user-facing document state
- document::iterator: iterator (equivalent of ParsedJsonIterator)
- document::parser: parser state plus a "docked" document we parse into (equivalent of ParsedJson)
Usage:
```c++
auto doc = simdjson::document::parse(buf, len); // less efficient but simplest
```
```c++
simdjson::document::parser parser; // reusable parser
parser.allocate_capacity(len);
simdjson::document* doc = parser.parse(buf, len); // pointer to doc inside parser
doc = parser.parse(buf2, len); // reuses all buffers and overwrites doc; more efficient
```
2020-02-07 10:02:36 -08:00
ioioioio
c2eea8abba
Style uniformization ( #238 )
...
* massive clang-format -style=LLVM
* naming harmonization
* adding commentary about sysinfoapi.h
2019-07-30 17:18:10 -04:00
ioioioio
9230588ce8
conflicts are solved
2019-07-02 15:21:00 -04:00
Daniel Lemire
b0e6bfa84c
Simpler iteration code ( #190 )
...
* Adding convenience method to simplify code.
* Simplifying the iteration code.
2019-06-12 16:29:24 -04:00
Daniel Lemire
b1e8990654
Moving iterator functions in the header file ( #189 )
...
We want the compiler to inline hot functions in the iterators. Let us leave them in the header file. Please.
2019-06-11 21:09:58 -04:00
Daniel Lemire
642132920f
Fixing performance regression caused by helpful code contributions
...
that moved inlineable functions into the source file combined with
helpful compilers which aren't smart enough to do the inlinining in
any case.
2019-05-31 18:16:12 -04:00
Daniel Lemire
e370a65383
Fix for issues 32, 50, 131, 137
...
* Improving portability.
* Revisiting faulty logic regarding same-page overruns.
* Disabling same-page overruns under VS.
* Clarifying the documentation
* Fix for issue 131 + being more explicit regarding memory realloc.
* Fix for issue 137.
* removing "using namespace std" throughout. Fix for 50
* Introducing typed malloc/free.
* Introducing a custom class (padded_string) that solves several minor usability issues.
* Updating amalgamation for testing.
2019-05-09 17:59:51 -04:00
Daniel Lemire
58d41923fd
Porting to visual studio
...
Now builds on Visual Studio
2018-12-30 21:00:19 -05:00
Daniel Lemire
2654388c52
Saving...
2018-12-27 17:10:19 -05:00
Daniel Lemire
14b55ab77f
Preparing new version with plotting.
2018-12-18 22:18:23 -05:00
Daniel Lemire
b1b5665343
Cleaning.
2018-12-14 21:45:38 -05:00
Daniel Lemire
0769c39e27
Ok. Looks complete.
2018-12-14 21:32:42 -05:00
Daniel Lemire
dfabee5b80
Tmp file.
2018-12-12 23:01:36 -05:00