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
- Alphabetic
- By Inheritance
Inherited
- Equivalence
- PartialEquivalence
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- Protected
Concrete Value Members
- def >>>[C](that: Equivalence[B, C]): Equivalence[A, C]
Composes this equivalence with the specified equivalence.
- def >>>[C, E3 >: Nothing, E4 >: Nothing](that: PartialEquivalence[B, C, E3, E4]): PartialEquivalence[A, C, E3, E4]
- Definition Classes
- PartialEquivalence
- def andThen[C](that: Equivalence[B, C]): Equivalence[A, C]
A named method for
>>>
. - def andThen[C, E3 >: Nothing, E4 >: Nothing](that: PartialEquivalence[B, C, E3, E4]): PartialEquivalence[A, C, E3, E4]
- Definition Classes
- PartialEquivalence
- def canonicalLeft(a: A): Option[A]
- Definition Classes
- PartialEquivalence
- def canonicalLeftOrError[E](a: A)(implicit ev1: <:<[Nothing, E], ev2: <:<[Nothing, E]): Either[E, A]
- Definition Classes
- PartialEquivalence
- def canonicalRight(b: B): Option[B]
- Definition Classes
- PartialEquivalence
- def canonicalRightOrError[E](b: B)(implicit ev1: <:<[Nothing, E], ev2: <:<[Nothing, E]): Either[E, B]
- Definition Classes
- PartialEquivalence
- def compose[C](that: Equivalence[C, A]): Equivalence[C, B]
- def compose[C, E3 >: Nothing, E4 >: Nothing](that: PartialEquivalence[C, A, E3, E4]): PartialEquivalence[C, B, E3, E4]
- Definition Classes
- PartialEquivalence
- def flip: Equivalence[B, A]
Flips this equivalence around.
Flips this equivalence around.
- Definition Classes
- Equivalence → PartialEquivalence
- final def fromPartial: (B) => Either[Nothing, A]
- Definition Classes
- Equivalence → PartialEquivalence
- final def toPartial: (A) => Either[Nothing, B]
- Definition Classes
- Equivalence → PartialEquivalence