Trait interval_set::interval_set::ToIntervalSet [] [src]

pub trait ToIntervalSet {
    fn to_interval_set(self) -> IntervalSet;
}

Trait ToIntervalSet allows to write a function to convert type into an IntervalSet.

Required Methods

Consume self to create an IntervalSet

Implementations on Foreign Types

impl ToIntervalSet for String
[src]

[src]

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);

impl ToIntervalSet for Vec<Interval>
[src]

[src]

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

impl ToIntervalSet for Vec<(u32, u32)>
[src]

[src]

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

Implementors