Skip to content

Commit

Permalink
Add Selection::{overlaps,without} and fix contains
Browse files Browse the repository at this point in the history
Adds two helper functions to `Selection`:

* `overlaps`: tests whether two `Selection`s contain any ranges which
  overlap with each other
* `without`: Computes a new `Selection` that is the set difference
  of two `Selection`s, i.e. everything in the first `Selection`
  with everything that overlaps in the second `Selection` removed,
  potentially leaving holes in the original ranges.

It also fixes a bug with `Selection::contains`: it assumes that if the
second `Selection` has a greater number of ranges than the first, then
the first cannot contain the second; but this is false, since one range
from the first could contain multiple smaller ranges in the second.
  • Loading branch information
dead10ck committed Aug 29, 2023
1 parent 5243f4a commit d7a1cb7
Showing 1 changed file with 445 additions and 6 deletions.
Loading

0 comments on commit d7a1cb7

Please sign in to comment.