pub fn valid_range_slice<T, V>(ranges: V) -> bool
where T: PartialOrd + PrimInt, V: AsRef<[RangeInclusive<T>]>,
Expand description

Tests a slice of ranges for validity as a range set: the element ranges must be properly disjoint (not adjacent) and sorted.

let mut v = Vec::new();
assert!(valid_range_slice (&v));
v.push (0..=3);
assert!(valid_range_slice (&v));
v.push (6..=10);
assert!(valid_range_slice (&v));
v.push (15..=u8::MAX);
assert!(valid_range_slice (&v));
v.push (0..=1);
assert!(!valid_range_slice (&v));