Francisco Geiman Thiesen
2a481a4124
Merge master into francisco/ablation_study
...
Resolved conflicts in:
- include/simdjson/generic/ondemand/json_builder.h
- include/simdjson/generic/ondemand/json_string_builder-inl.h
- include/simdjson/generic/ondemand/std_deserialize.h
Conflict resolution strategy:
- Preserved ablation study infrastructure (SIMDJSON_ABLATION_* macros)
- Integrated master's improvements:
- Use constevalutil:: namespace for consteval functions
- Added require_custom_serialization constraints
- Added constexpr qualifiers to functions
- Updated reflection API to use access_context::unchecked()
- Improved optional member handling in deserialization
2025-12-15 16:05:14 -08:00
Daniel Lemire
5e871f6724
improving slightly the documentation.
2025-12-12 19:04:34 -05:00
Jake S. Del Mastro
4e9ff03af5
Make it possible to provide custom serializers for range types ( ( #2550 )
...
If you provide a custom serializer for range types it is currently never used due to the requires clause for string_builder::append with ranges is overly broad
2025-12-12 17:50:52 -05:00
Muhammad Rizal Nurromdhoni
19549c60ec
string_builder range-based append fix ( #2544 )
...
* Use std::ranges::range_value_t on range
* Add ranges test
2025-11-11 14:15:00 -05:00
Daniel Lemire
19ff7a572d
adding concept examples to the compile-time JSON. ( #2538 )
2025-11-04 15:06:40 -05:00
Daniel Lemire
2b9c8977af
using _json for compile-time JSON strings. ( #2536 )
2025-11-03 11:03:21 -05:00
Francisco Geiman Thiesen
86bfbaada7
Merge pull request #2534 from simdjson/francisco/compile-time-parsing_daniel
...
Compile-time parsing (C++26)
2025-11-01 22:19:37 -07:00
Daniel Lemire
ccac6403d9
fixing support for pre-C++17
2025-11-01 17:28:17 -04:00
Daniel Lemire
3319815e25
bringing back compatibility with pre-C++17
2025-11-01 16:46:34 -04:00
hiteshmk05
a24f845bd7
Feature/ondemand wildcard support ( #2533 )
...
* Add feature for ondemand-wildcard-JSONQueries
* fix wildcard_test
* fix: extra whitespace
2025-11-01 16:46:08 -04:00
Daniel Lemire
8589509d1e
Merge branch 'master' into francisco/compile-time-parsing_daniel
2025-10-31 18:47:42 -04:00
Daniel Lemire
62803512e4
saving.
2025-10-31 15:58:51 -04:00
Francisco Geiman Thiesen
58c92d6d82
Adding support for compiled json path + json pointer (reflection based) ( #2483 )
...
* Adding compile time json path
* using string_view
* Adding support for compile-time json pointer as well.
* Removing unnecessary comment
* Tests now working, still will re-review.
* Adding documentation on the compile-time json path/pointer parsing feature.
* Adding benchmark showing the significant performance advantage of using compiled paths whenever you have them a priori.
* going for JSONPath (correct wording).
* minor update (mostly doc)
---------
Co-authored-by: Daniel Lemire <daniel@lemire.me >
2025-10-27 16:52:41 -04:00
Daniel Lemire
781a7d6c89
removing an unnecessary branch ( #2530 )
...
* removing an unnecessary branch
* fixing typo
2025-10-27 14:19:58 -04:00
Daniel Lemire
def2b6efd2
still not good
2025-10-19 22:23:43 -04:00
Daniel Lemire
c3d1d62dfe
use cpp
2025-10-17 20:45:57 -04:00
Daniel Lemire
ec352430a0
JSONPath is now an RFC ( #2517 )
...
* JSONPath is now an RFC
* up
2025-10-17 13:35:04 -04:00
Francisco Geiman Thiesen
d326f2ce9f
Working!
2025-10-10 21:32:10 -07:00
Francisco Geiman Thiesen
ca42a49fba
Compile-time support for parsing json objects!
2025-10-10 18:40:09 -07:00
Francisco Geiman Thiesen
c7b70de070
Merge branch 'master' into francisco/extract_from
2025-09-29 03:23:02 -07:00
Francisco Geiman Thiesen
6aa7eea334
Adding extract_from functionality + unit tests
2025-09-26 19:48:16 -07:00
Daniel Lemire
bd0e9c1336
tweak
2025-09-26 21:04:53 -04:00
Daniel Lemire
7bf82b02d5
this completes the extra_into work.
2025-09-26 21:00:46 -04:00
Francisco Geiman Thiesen
88a1b3e83b
Merge pull request #2471 from simdjson/francisco/extract_into
...
Adding extract_into functionality + test (targets simdjson >= 4.0 as it relies on reflection)
2025-09-26 01:29:33 -07:00
Francisco Geiman Thiesen
c72954eade
Addressing reviews.
2025-09-25 21:08:38 -07:00
Francisco Geiman Thiesen
4456a10469
Francisco/using iterators for containers ( #2470 )
...
* Using iterators instead of subscript operators and size. This helps us work with a broader range of containers.
* Adding list test
* Using std::ranges::input_range<T> as suggested by moisrex
2025-09-25 17:30:42 -04:00
Francisco Geiman Thiesen
d8ed2417ad
Adding coverage for extract_into with types that have custom serialization
2025-09-25 03:35:46 -07:00
Francisco Geiman Thiesen
5517df7aee
Adding extract_into functionality + test
2025-09-24 22:58:23 -07:00
Francisco Geiman Thiesen
93c569ccec
- Single script for ablation study, single script for benchmarking parsing and/or serialization.
...
- Simplified the twitter structure that is used in the benchmarks, it is not required to go over every field for the benchmark to be valid, what matters is being fair and letting the other libraries do the same amount of work.
2025-09-23 16:51:07 -06:00
Pavel Novikov
bde288a623
Fixed string_builder::operator std::string() ( #2465 )
...
* clang format
* fixed `string_builder::operator std::string()`
* fixed variable shadowing error false positive
2025-09-21 11:25:42 -06:00
Daniel Lemire
b2932d1b8f
release candidate 4.0.6 ( #2464 )
2025-09-21 08:13:48 -06:00
Daniel Lemire
a7811090ef
fixing issue 2458 ( #2461 )
2025-09-20 22:23:09 -06:00
Daniel Lemire
3320885fac
Fixing issue 2462 ( #2463 )
...
* fun
* progress
* completing the documentation
2025-09-20 22:22:57 -06:00
Daniel Lemire
703ef54bd9
allow string reuse ( #2454 )
...
* allow string reuse
* portability fix
* using data and not begin
2025-09-18 15:16:38 -06:00
Francisco Geiman Thiesen
06f36fe942
Adding template for and tweaking serialization to avoid string allocation.
2025-09-17 21:47:16 -06:00
Daniel Lemire
e38a4923e5
adding keys as templates in builder ( #2453 )
...
* adding keys as templates in builder
* more guarding
* cmake update in ci
* guarding.
* guarding
2025-09-17 18:58:05 -06:00
Dirk Stolle
e6dfa2e0ed
remove trailing whitespace + fix typos ( #2451 )
2025-09-16 22:41:14 -06:00
Daniel Lemire
1f369ef210
minor patch which allows us to pass mutable strings to simdjson::from… ( #2448 )
...
* minor patch which allows us to pass mutable strings to simdjson::from and fix
an issue with ambiguous integrals
* compatibility patch.
2025-09-15 22:22:25 -06:00
Daniel Lemire
72e9d44e10
fixing indent
2025-09-15 17:08:12 -06:00
Daniel Lemire
8aae14931d
release candidate 4.0.2 ( #2441 )
...
* release candidate 4.0.2
* more fixes
* fixing typos
* adding macro check
2025-09-15 09:17:43 -06:00
Daniel Lemire
ef3d1ac25f
fixing 2440
2025-09-14 08:09:27 -06:00
Daniel Lemire
9292480a9b
removing leftover <experimental/...> ( #2438 )
2025-09-14 08:00:26 -06:00
Daniel Lemire
7f68baec1e
minor tweak
2025-09-05 08:01:04 -04:00
Daniel Lemire
e2ea5fb8de
This PR adds -> and * operators to our error types and it ( #2433 )
...
improves slightly the documentation.
2025-09-04 22:35:01 -04:00
Daniel Lemire
e252a21f65
removing expand workaround ( #2431 )
...
* removing expland workaround
* minor fixes
2025-09-03 13:30:35 -04:00
Daniel Lemire
5b110a39fc
turing the array into a static array
2025-08-31 16:52:55 -04:00
Francisco Geiman Thiesen
3e25649e38
Saving current changes (simdjson now using consteval)
2025-08-31 15:32:40 +00:00
Daniel Lemire
f87d6af3e9
fix issue 2424 ( #2425 )
2025-08-24 16:04:56 -04:00
Francisco Geiman Thiesen
f5c1134d1c
Merge branch 'master' into francisco/ablation_study
2025-08-21 03:00:15 +00:00
Daniel Lemire
056d66926a
Renames a few macros and extends slightly our basic builder ( #2422 )
...
* This PR renames a few macros and extends slightly our basic builder
* minor tuning
2025-08-20 09:01:58 -04:00