Packages

trait Equivalence[A, B] extends PartialEquivalence[A, B, Nothing, Nothing]

An Equivalence[A, B] defines an equivalence between two types A and B. These types represent different ways to store the same information.

For example, a List[Byte] is equivalent to a Vector[Byte]. Similarly, a List[Char] is equivalent to a String.

Equivalences are symmetrical. So if A is equivalent to B, then B is equivalent to A.

Self Type
Equivalence[A, B]
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Equivalence
  2. PartialEquivalence
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def from: (B) => A
  2. abstract def to: (A) => B

Concrete Value Members

  1. def >>>[C](that: Equivalence[B, C]): Equivalence[A, C]

    Composes this equivalence with the specified equivalence.

  2. def >>>[C, E3 >: Nothing, E4 >: Nothing](that: PartialEquivalence[B, C, E3, E4]): PartialEquivalence[A, C, E3, E4]
    Definition Classes
    PartialEquivalence
  3. def andThen[C](that: Equivalence[B, C]): Equivalence[A, C]

    A named method for >>>.

  4. def andThen[C, E3 >: Nothing, E4 >: Nothing](that: PartialEquivalence[B, C, E3, E4]): PartialEquivalence[A, C, E3, E4]
    Definition Classes
    PartialEquivalence
  5. def canonicalLeft(a: A): Option[A]
    Definition Classes
    PartialEquivalence
  6. def canonicalLeftOrError[E](a: A)(implicit ev1: <:<[Nothing, E], ev2: <:<[Nothing, E]): Either[E, A]
    Definition Classes
    PartialEquivalence
  7. def canonicalRight(b: B): Option[B]
    Definition Classes
    PartialEquivalence
  8. def canonicalRightOrError[E](b: B)(implicit ev1: <:<[Nothing, E], ev2: <:<[Nothing, E]): Either[E, B]
    Definition Classes
    PartialEquivalence
  9. def compose[C](that: Equivalence[C, A]): Equivalence[C, B]
  10. def compose[C, E3 >: Nothing, E4 >: Nothing](that: PartialEquivalence[C, A, E3, E4]): PartialEquivalence[C, B, E3, E4]
    Definition Classes
    PartialEquivalence
  11. def flip: Equivalence[B, A]

    Flips this equivalence around.

    Flips this equivalence around.

    Definition Classes
    EquivalencePartialEquivalence
  12. final def fromPartial: (B) => Either[Nothing, A]
    Definition Classes
    EquivalencePartialEquivalence
  13. final def toPartial: (A) => Either[Nothing, B]
    Definition Classes
    EquivalencePartialEquivalence