Overlap

object Overlap
Companion:
class
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Overlap.type

Type members

Classlikes

case class Disjoint[A] extends Overlap[A]

Intervals are nonEmpty and don't intersect lower.upperBound is strictly less than upper.lowerBound.

Intervals are nonEmpty and don't intersect lower.upperBound is strictly less than upper.lowerBound.

case class Equal[A] extends Overlap[A]

Intervals are equal

Intervals are equal

case class PartialOverlap[A] extends Overlap[A]

Non empty intervals, for which holds: upperlower.upperBound && upperlower.lowerBound For example: (-2, 10] and [5, 13)

Non empty intervals, for which holds: upperlower.upperBound && upperlower.lowerBound For example: (-2, 10] and [5, 13)

case class Subset[A] extends Overlap[A]

inner is a subset of outer. Empty interval is always a subset of any other, so all overlaps on empty intervals go here, except (Ø).overlap(Ø), that results in equality.

inner is a subset of outer. Empty interval is always a subset of any other, so all overlaps on empty intervals go here, except (Ø).overlap(Ø), that results in equality.

For example [1,4) and [1, 5]

Inherited types

type MirroredElemLabels <: Tuple

The names of the product elements

The names of the product elements

Inherited from:
Mirror

The name of the type

The name of the type

Inherited from:
Mirror

Value members

Concrete methods

def apply[A : Order](lhs: Interval[A], rhs: Interval[A]): Overlap[A]

Implicits

Implicits

implicit def eqOverlap[A : Eq]: Eq[Overlap[A]]