Class Range<T extends Comparable<T>>

    • Constructor Detail

      • Range

        public Range(T v1,
                     T v2)
      • Range

        public Range(Tuple2<T,T> tuple)
    • Method Detail

      • overlaps

        public boolean overlaps(Tuple2<T,T> other)
        Whether two ranges overlap.

        
         // true
         range(1, 3).overlaps(range(2, 4))
        
         // false
         range(1, 3).overlaps(range(5, 8))
         
      • overlaps

        public boolean overlaps(T t1,
                                T t2)
        Whether two ranges overlap.

        
         // true
         range(1, 3).overlaps(2, 4)
        
         // false
         range(1, 3).overlaps(5, 8)
         
      • intersect

        public Optional<Range<T>> intersect(Tuple2<T,T> other)
        The intersection of two ranges.

        
         // (2, 3)
         range(1, 3).intersect(range(2, 4))
        
         // none
         range(1, 3).intersect(range(5, 8))
         
      • intersect

        public Optional<Range<T>> intersect(T t1,
                                            T t2)
        The intersection of two ranges.

        
         // (2, 3)
         range(1, 3).intersect(2, 4)
        
         // none
         range(1, 3).intersect(5, 8)