pub trait ToIntervalSet {
// Required method
fn to_interval_set(self) -> IntervalSet;
}Expand description
Trait ToIntervalSet allows to write a function to convert type into an IntervalSet.
Required Methods§
Sourcefn to_interval_set(self) -> IntervalSet
fn to_interval_set(self) -> IntervalSet
Consume self to create an IntervalSet
Implementations on Foreign Types§
Source§impl ToIntervalSet for String
impl ToIntervalSet for String
Source§fn to_interval_set(self) -> IntervalSet
fn to_interval_set(self) -> IntervalSet
Convert a string formatted into an interval set. The rules are simple for the string to be valid.
- Each intervals are separated by a space.
- Each bounds of the interval are separated by a dash(-).
- If an interval is of size 1, it is sufficient to write only one integer.
§Example
use interval_set::interval_set::ToIntervalSet;
use interval_set::Interval;
let interval = String::from("3-4 7-19").to_interval_set();
assert_eq!(interval, vec![(3, 4), (7, 19)].to_interval_set());
let interval = String::from("3-4 6 7-19").to_interval_set();
assert_eq!(interval, vec![(3, 4), (6, 6) ,(7, 19)].to_interval_set());
let interval = String::from("3-4 7-19 6").to_interval_set();
assert_eq!(interval, vec![(3, 4), (6, 6), (7, 19)].to_interval_set());
let interval = String::from("3-4 7-19 6").to_interval_set();
let interval_bis = String::from("3-3 4 7-7 8 9-19 6").to_interval_set();
assert_eq!(interval, interval_bis);
Source§impl ToIntervalSet for Vec<(u32, u32)>
impl ToIntervalSet for Vec<(u32, u32)>
Source§fn to_interval_set(self) -> IntervalSet
fn to_interval_set(self) -> IntervalSet
Convert an array of tuples into an intervalset. Note that the validity of the intervals are checked.
§Example
use interval_set::interval_set::ToIntervalSet;
vec![(5, 10), (15, 20)].to_interval_set();Source§impl ToIntervalSet for Vec<Interval>
impl ToIntervalSet for Vec<Interval>
Source§fn to_interval_set(self) -> IntervalSet
fn to_interval_set(self) -> IntervalSet
Convert an array of interval into an intervalset. Note that the validity of the intervals are checked.
§Example
use interval_set::interval_set::ToIntervalSet;
use interval_set::Interval;
vec![Interval::new(5, 10), Interval::new(15, 20)].to_interval_set();