contrie
contrie copied to clipboard
Rayon support: Iteration
This is the more interesting part of rayon support (see #3), iterating through the maps and sets. It'll require some research around how exactly iterators for rayon work (src/iter/map.rs and src/iter/plumbing/README.md seem to be of interest in their repository).
On the conset side, we need to be able to „split“ (conceptually). The rough idea how to do that is by extending the raw::iterator::Iter with bounds for accepted hash values, start and end. We can use these to stop iterating after going over end, and initialize by finding the first value that has its hash >= start. The current new will then be a wrapper that calls this extended constructor with 0, u64::max_value().