vorner/contrie

Rayon support: Iteration

Opened this issue · 0 comments

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().