Overlap

object Overlap
Companion
class
trait Sum
trait Mirror
class Object
trait Matchable
class Any

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
type MirroredLabel <: String

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]]