pub fn intersections(&self) -> Self {
    if self.intervals.len() < 2 {
      let values: Vec<Interval<T>> = vec![];
      Self::new(values)
    } else {
      let mut values: Vec<Interval<T>> = vec![];
      for i in 1usize..self.intervals.len() {
        let left = &self.intervals[i - 1];
        let right = &self.intervals[i];
        let gap = left.intersect(right);
        if !gap.is_empty() {
          values.push(gap);
        }
      }
      Self::new(values)
    }
  }
/// Return the sorted intervals where adjacent intervals overlap each other as an interval sequence.
///
/// If the number of intervals is less than two, an empty sequence of intervals is returned.
/// If the intervals do not overlap or are tangent to each other, the intervals are not included in the result element.
/// If all the intervals do not overlap, an empty interval sequence is returned.
///
/// - return: common interval sequence
Return the sorted intervals where adjacent intervals overlap each other as an interval sequence.
If the number of intervals is less than two, an empty sequence of intervals is returned.
If the intervals do not overlap or are tangent to each other, the intervals are not included in the result element.
If all the intervals do not overlap, an empty interval sequence is returned.

common interval sequence
Return the sorted intervals where adjacent intervals overlap each other as an interval sequence . If the number of intervals is less than two an empty sequence of intervals is returned . If the intervals do not overlap or are tangent to each other the intervals are not included in the result element . If all the intervals do not overlap an empty interval sequence is returned . common interval sequence
pub fn intersections(&self) -> Self {
    if self.intervals.len() < 2 {
      let values: Vec<Interval<T>> = vec![];
      Self::new(values)
    } else {
      let mut values: Vec<Interval<T>> = vec![];
      for i in 1usize..self.intervals.len() {
        let left = &self.intervals[i - 1];
        let right = &self.intervals[i];
        let gap = left.intersect(right);
        if !gap.is_empty() {
          values.push(gap);
        }
      }
      Self::new(values)
    }
  }
pub fn intersections ( & self ) -> Self { if self . intervals . len ( ) < 2 { let values : Vec < Interval < T > > = vec ! [ ] ; Self :: new ( values ) } else { let mut values : Vec < Interval < T > > = vec ! [ ] ; for i in 1usize .. self . intervals . len ( ) { let left = & self . intervals [ i - 1 ] ; let right = & self . intervals [ i ] ; let gap = left . intersect ( right ) ; if ! gap . is_empty ( ) { values . push ( gap ) ; } } Self :: new ( values ) } }
Return the sorted intervals where adjacent intervals overlap each other as an interval sequence.
Return the sorted intervals where adjacent intervals overlap each other as an interval sequence .
&self