store-interval-tree

A balanced unbounded interval-tree in Rust with associated values in the nodes.

Based on rudac and bio.

Example

```rust use storeintervaltree::IntervalTree; use storeintervaltree::Interval; use std::ops::Bound::*;

let mut interval_tree = IntervalTree::::new();

intervaltree.insert(Interval::new(Excluded(0), Included(1)), true); intervaltree.insert(Interval::new(Included(0), Excluded(3)), true); intervaltree.insert(Interval::new(Included(6), Included(10)), true); intervaltree.insert(Interval::new(Excluded(8), Included(9)), true); intervaltree.insert(Interval::new(Excluded(15), Excluded(23)), true); intervaltree.insert(Interval::new(Included(16), Excluded(21)), true); intervaltree.insert(Interval::new(Included(17), Excluded(19)), true); intervaltree.insert(Interval::new(Excluded(19), Included(20)), true); intervaltree.insert(Interval::new(Excluded(25), Included(30)), true); intervaltree.insert(Interval::new(Included(26), Included(26)), true);

let interval = Interval::new(Included(8), Included(26)); let iter = intervaltree.querymut(&interval);

for mut entry in iter { *entry.value() = false; } ```