sealed abstract class Ior[+A, +B] extends Product with Serializable

Represents a right-biased disjunction that is either an A, or a B, or both an A and a B.

An instance of A Ior B is one of:

A Ior B is similar to scala.util.Either[A, B], except that it can represent the simultaneous presence of an A and a B. It is right-biased so methods such as map and flatMap operate on the B value. Some methods, like flatMap, handle the presence of two Both values using a Semigroup[A], while other methods, like toEither, ignore the A value in a Both.

A Ior B is isomorphic to Either[Either[A, B], (A, B)], but provides methods biased toward B values, regardless of whether the B values appear in a Right or a Both. The isomorphic scala.util.Either form can be accessed via the unwrap method.

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Ior
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def canEqual(that: Any): Boolean
    Definition Classes
    Equals
  2. abstract def productArity: Int
    Definition Classes
    Product
  3. abstract def productElement(n: Int): Any
    Definition Classes
    Product

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def ===[AA >: A, BB >: B](that: Ior[AA, BB])(implicit AA: Eq[AA], BB: Eq[BB]): Boolean
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. final def bimap[C, D](fa: (A) ⇒ C, fb: (B) ⇒ D): Ior[C, D]
  7. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  8. final def combine[AA >: A, BB >: B](that: Ior[AA, BB])(implicit AA: Semigroup[AA], BB: Semigroup[BB]): Ior[AA, BB]
  9. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  10. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  11. final def exists(p: (B) ⇒ Boolean): Boolean
  12. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  13. final def flatMap[AA >: A, D](f: (B) ⇒ Ior[AA, D])(implicit AA: Semigroup[AA]): Ior[AA, D]
  14. final def fold[C](fa: (A) ⇒ C, fb: (B) ⇒ C, fab: (A, B) ⇒ C): C
  15. final def foldLeft[C](c: C)(f: (C, B) ⇒ C): C
  16. final def foldRight[C](lc: Eval[C])(f: (B, Eval[C]) ⇒ Eval[C]): Eval[C]
  17. final def forall(p: (B) ⇒ Boolean): Boolean
  18. final def foreach(f: (B) ⇒ Unit): Unit
  19. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  20. final def getOrElse[BB >: B](bb: ⇒ BB): BB
  21. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  22. final def isBoth: Boolean
  23. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  24. final def isLeft: Boolean
  25. final def isRight: Boolean
  26. final def left: Option[A]
  27. final def leftMap[C](f: (A) ⇒ C): Ior[C, B]
  28. final def map[D](f: (B) ⇒ D): Ior[A, D]
  29. final def merge[AA >: A](implicit ev: <:<[B, AA], AA: Semigroup[AA]): AA
  30. final def mergeLeft[AA >: A](implicit ev: <:<[B, AA]): AA
  31. final def mergeRight[AA >: A](implicit ev: <:<[B, AA]): AA
  32. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  33. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  34. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  35. final def onlyBoth: Option[(A, B)]
  36. final def onlyLeft: Option[A]
  37. final def onlyLeftOrRight: Option[Either[A, B]]
  38. final def onlyRight: Option[B]
  39. final def pad: (Option[A], Option[B])
  40. def productIterator: Iterator[Any]
    Definition Classes
    Product
  41. def productPrefix: String
    Definition Classes
    Product
  42. final def putLeft[C](left: C): Ior[C, B]
  43. final def putRight[C](right: C): Ior[A, C]
  44. final def right: Option[B]
  45. final def show[AA >: A, BB >: B](implicit AA: Show[AA], BB: Show[BB]): String
  46. final def swap: Ior[B, A]
  47. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  48. final def to[F[_], BB >: B](implicit F: Alternative[F]): F[BB]
  49. final def toEither: Either[A, B]
  50. final def toIorNec[AA >: A]: IorNec[AA, B]
  51. final def toIorNel[AA >: A]: IorNel[AA, B]
  52. final def toIorNes[AA >: A](implicit O: Order[AA]): IorNes[AA, B]
  53. final def toList: List[B]
  54. final def toOption: Option[B]
  55. def toString(): String
    Definition Classes
    AnyRef → Any
  56. final def toValidated: Validated[A, B]
  57. final def traverse[F[_], AA >: A, D](g: (B) ⇒ F[D])(implicit F: Applicative[F]): F[Ior[AA, D]]
  58. final def unwrap: Either[Either[A, B], (A, B)]
  59. final def valueOr[BB >: B](f: (A) ⇒ BB)(implicit BB: Semigroup[BB]): BB
  60. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  61. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  62. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped