fn divide_spans_into_buckets(
input_covspans: Vec<Covspan>,
holes: &[Hole],
) -> Vec<Vec<Covspan>>
Expand description
Uses the holes to divide the given covspans into buckets, such that:
- No span in any hole overlaps a bucket (truncating the spans if necessary).
- The spans in each bucket are strictly after all spans in previous buckets, and strictly before all spans in subsequent buckets.
The resulting buckets are sorted relative to each other, but might not be internally sorted.