Comments (5)
Do you refer to this function in our On Demand API?
/**
* Get the value at the given index. This function has linear-time complexity.
* This function should only be called once on an array instance.
*/
simdjson_inline simdjson_result<value> at(size_t index) noexcept;
You have taken into account that you should call once on an array instance
?
This function is very specialized, it is meant to be used only when you need just one entry. We deliberately disallow repeated calls to it.
It is stated explicitly in our main documentation:
Maybe you mean to use our DOM API?
https://github.com/simdjson/simdjson/blob/master/doc/dom.md
from simdjson.
I removed the bug label since the provided code sample violates the function specification.
from simdjson.
The code sample uses count_elements()
, please refer to the documentation on its usage:
Users should be aware that the count_elements method can be costly since it requires scanning the whole array. You should only call count_elements as a last resort as it may require scanning the document twice or more.
from simdjson.
Ok, now I see that it is really mentioned in the documentation. Sorry, I missed it.
But it is non intuitive, that this function can not be called two times, and in some cases it works. If I call at(0) than at(1) gives correct result in my example. Maybe it is possible somehow to forbid incorrect usage, but it is not important I think the issue can be closed.
I used count_elements() just for debugging, to be sure that array really contains required number of elements, it is not used in production code.
from simdjson.
Closing.
Pull requests are always invited.
from simdjson.
Related Issues (20)
- dom and OnDemand resolve double types to different results HOT 9
- enum name `LOG_INFO` `LOG_ERROR` too common, easy to cause conflict with other project's Macro declaration, for example ClickHouse HOT 3
- slowdown during switch from 3.1.8 to 3.2.0 version HOT 4
- RFC 7464 support? HOT 3
- Compiling with SIMDJSON_DEVELOPER_MODE=OFF is missing some internal definitions HOT 14
- Potential stack buffer overflow detected by address sanitizer when parsing integer with ondemand API HOT 3
- Significant size increase for single header files HOT 6
- No consistant coding style in docs HOT 1
- No consistant coding style in docs - clarification HOT 1
- Need help parsing an array of objects HOT 10
- Linker error unresolved external symbol simdjson::internal::error_code_info HOT 1
- Build shared and static libraries HOT 1
- Add full support for JSONPath HOT 19
- 你能训练一个连下2步的围棋ai吗?
- Trailing comma support for array and object HOT 1
- Confusing error message when trying to convert a non-scalar on-demand document to a value HOT 2
- Add Glace to the benchmarks HOT 1
- Double parsing can produce incorrect results due to integer overflow. HOT 1
- get_number().get_double() produces incorrect results, but get_double() is correct HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from simdjson.