Packages

trait Equal[-A] extends AnyRef

Equal[A] provides implicit evidence that two values of type A can be compared for equality.

Self Type
Equal[A]
Annotations
@implicitNotFound()
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Equal
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Concrete Value Members

  1. final def both[B](that: => Equal[B]): Equal[(A, B)]

    Constructs an Equal[(A, B)] given an Equal[A] and Equal[B] by first comparing the A values for equality and then comparing the B values for equality, if necessary.

  2. final def bothWith[B, C](that: => Equal[B])(f: (C) => (A, B)): Equal[C]

    Constructs an Equal[C] given an Equal[A], an Equal[B] and a function f to transform a C value into an (A, B).

    Constructs an Equal[C] given an Equal[A], an Equal[B] and a function f to transform a C value into an (A, B). The instance will convert each C value into an (A, B), compare the A values for equality, and then compare the B values for equality if necessary.

  3. def contramap[B](f: (B) => A): Equal[B]

    Constructs an Equal[B] given an Equal[A] and a function f to transform a B value into an A value.

    Constructs an Equal[B] given an Equal[A] and a function f to transform a B value into an A value. The instance will convert each B value into an A and the compare the A values for equality.

  4. final def either[B](that: => Equal[B]): Equal[Either[A, B]]

    Constructs an Equal[Either[A, B]] given an Equal[A] and an Equal[B].

    Constructs an Equal[Either[A, B]] given an Equal[A] and an Equal[B]. The instance will compare the Either[A, B] values and if both are Right or Left compare them for equality.

  5. final def eitherWith[B, C](that: => Equal[B])(f: (C) => Either[A, B]): Equal[C]

    Constructs an Equal[C] given an Equal[A], an Equal[B], and a function f to transform a C value into an Either[A, B].

    Constructs an Equal[C] given an Equal[A], an Equal[B], and a function f to transform a C value into an Either[A, B]. The instance will convert each C value into an Either[A, B] and then if both are Right or Left compare them for equality.

  6. final def equal(l: A, r: A): Boolean

    Returns whether two values of type A are equal.

  7. final def notEqual(l: A, r: A): Boolean

    Returns whether two values of type A are not equal.

  8. def toScala[A1 <: A]: Equiv[A1]