scalaz

# \/

#### sealed trait \/[+A, +B] extends AnyRef

Represents disjunction. Isomorphic to `scala.Either`. Does not have left/right projections, instead right-bias and use `swap` or `swapped`.

Source
Either.scala
Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
1. Alphabetic
2. By inheritance
Inherited
1. \/
2. AnyRef
3. Any
1. Hide All
2. Show all
Visibility
1. Public
2. All

### Value Members

1. #### final def !=(arg0: AnyRef): Boolean

Definition Classes
AnyRef
2. #### final def !=(arg0: Any): Boolean

Definition Classes
Any
3. #### final def ##(): Int

Definition Classes
AnyRef → Any
4. #### def +++[AA >: A, BB >: B](x: ⇒ \/[AA, BB])(implicit M1: Semigroup[BB], M2: Semigroup[AA]): \/[AA, BB]

Sums up values inside disjunction, if both are left or right.

Sums up values inside disjunction, if both are left or right. Returns first left otherwise.

```\/-(v1) +++ \/-(v2) ￢ﾆﾒ \/-(v1 + v2)
\/-(v1) +++ -\/(v2) ￢ﾆﾒ -\/(v2)
-\/(v1) +++ \/-(v2) ￢ﾆﾒ -\/(v1)
-\/(v1) +++ -\/(v2) ￢ﾆﾒ -\/(v1 + v2)```
5. #### def :?>>[X](right: ⇒ X): SwitchingDisjunction[X]

If this disjunction is right, return the given X value, otherwise, return the X value given to the return value.

6. #### final def ==(arg0: AnyRef): Boolean

Definition Classes
AnyRef
7. #### final def ==(arg0: Any): Boolean

Definition Classes
Any
8. #### def ===[AA >: A, BB >: B](x: \/[AA, BB])(implicit EA: Equal[AA], EB: Equal[BB]): Boolean

Compare two disjunction values for equality.

9. #### def @\?/[AA, BB](k: (Validation[A, B]) ⇒ Validation[AA, BB]): \/[AA, BB]

Run a validation function and back to disjunction again.

Run a validation function and back to disjunction again. Alias for `validationed`

10. #### def ap[AA >: A, C](f: ⇒ \/[AA, (B) ⇒ C]): \/[AA, C]

Apply a function in the environment of the right of this disjunction.

11. #### final def asInstanceOf[T0]: T0

Definition Classes
Any
12. #### def bimap[C, D](f: (A) ⇒ C, g: (B) ⇒ D): \/[C, D]

Binary functor map on this disjunction.

13. #### def bitraverse[F[+_], C, D](f: (A) ⇒ F[C], g: (B) ⇒ F[D])(implicit arg0: Functor[F]): F[\/[C, D]]

Binary functor traverse on this disjunction.

14. #### def clone(): AnyRef

Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
@throws( ... )
15. #### def compare[AA >: A, BB >: B](x: \/[AA, BB])(implicit EA: Order[AA], EB: Order[BB]): Ordering

Compare two disjunction values for ordering.

16. #### def ensure[AA >: A](onLeft: ⇒ AA)(f: (B) ⇒ Boolean): \/[AA, B]

Ensures that the right value of this disjunction satisfies the given predicate, or returns left with the given value.

17. #### final def eq(arg0: AnyRef): Boolean

Definition Classes
AnyRef
18. #### def equals(arg0: Any): Boolean

Definition Classes
AnyRef → Any
19. #### def exists[BB >: B](p: (BB) ⇒ Boolean): Boolean

Return `true` if this disjunction is a right value satisfying the given predicate.

20. #### def filter[AA >: A](p: (B) ⇒ Boolean)(implicit M: Monoid[AA]): \/[AA, B]

Filter on the right of this disjunction.

21. #### def finalize(): Unit

Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
@throws( classOf[java.lang.Throwable] )
22. #### def flatMap[AA >: A, D](g: (B) ⇒ \/[AA, D]): \/[AA, D]

Bind through the right of this disjunction.

23. #### def fold[X](l: (A) ⇒ X, r: (B) ⇒ X): X

Catamorphism.

Catamorphism. Run the first given function if left, otherwise, the second given function.

24. #### def foldRight[Z](z: ⇒ Z)(f: (B, ⇒ Z) ⇒ Z): Z

Fold on the right of this disjunction.

25. #### def forall[BB >: B](p: (BB) ⇒ Boolean): Boolean

Return `true` if this disjunction is a left value or the right value satisfies the given predicate.

26. #### def foreach(g: (B) ⇒ Unit): Unit

Run the side-effect on the right of this disjunction.

27. #### final def getClass(): Class[_]

Definition Classes
AnyRef → Any
28. #### def getOrElse[BB >: B](x: ⇒ BB): BB

Return the right value of this disjunction or the given default if left.

Return the right value of this disjunction or the given default if left. Alias for `|`

29. #### def hashCode(): Int

Definition Classes
AnyRef → Any
30. #### final def isInstanceOf[T0]: Boolean

Definition Classes
Any
31. #### def isLeft: Boolean

Return `true` if this disjunction is left.

32. #### def isRight: Boolean

Return `true` if this disjunction is right.

33. #### def leftMap[C](f: (A) ⇒ C): \/[C, B]

Run the given function on the left value.

34. #### def loopl[AA >: A, BB >: B, X](left: (AA) ⇒ \/[X, \/[AA, BB]], right: (BB) ⇒ X): X

Spin in tail-position on the left value of this disjunction.

35. #### def loopr[AA >: A, BB >: B, X](left: (AA) ⇒ X, right: (BB) ⇒ \/[X, \/[AA, BB]]): X

Spin in tail-position on the right value of this disjunction.

36. #### def map[D](g: (B) ⇒ D): \/[A, D]

Map on the right of this disjunction.

37. #### final def ne(arg0: AnyRef): Boolean

Definition Classes
AnyRef
38. #### final def notify(): Unit

Definition Classes
AnyRef
39. #### final def notifyAll(): Unit

Definition Classes
AnyRef
40. #### def orElse[AA >: A, BB >: B](x: ⇒ \/[AA, BB]): \/[AA, BB]

Return this if it is a right, otherwise, return the given value.

Return this if it is a right, otherwise, return the given value. Alias for `|||`

41. #### def show[AA >: A, BB >: B](implicit SA: Show[AA], SB: Show[BB]): Cord

Show for a disjunction value.

42. #### def swap: \/[B, A]

Flip the left/right values in this disjunction.

Flip the left/right values in this disjunction. Alias for `unary_~`

43. #### def swapped[AA, BB](k: (\/[B, A]) ⇒ \/[BB, AA]): \/[AA, BB]

Run the given function on this swapped value.

Run the given function on this swapped value. Alias for `~`

44. #### final def synchronized[T0](arg0: ⇒ T0): T0

Definition Classes
AnyRef
45. #### def toEither: Either[A, B]

Convert to a core `scala.Either` at your own peril.

46. #### def toList: List[B]

Return an empty list or list with one element on the right of this disjunction.

47. #### def toOption: Option[B]

Return an empty option or option with one element on the right of this disjunction.

Return an empty option or option with one element on the right of this disjunction. Useful to sweep errors under the carpet.

48. #### def toStream: Stream[B]

Return an empty stream or stream with one element on the right of this disjunction.

49. #### def toString(): String

Definition Classes
AnyRef → Any
50. #### def traverse[F[+_], D](g: (B) ⇒ F[D])(implicit arg0: Applicative[F]): F[\/[A, D]]

Traverse on the right of this disjunction.

51. #### def unary_~: \/[B, A]

Flip the left/right values in this disjunction.

Flip the left/right values in this disjunction. Alias for `swap`

52. #### def validation: Validation[A, B]

Convert to a validation.

53. #### def validationed[AA, BB](k: (Validation[A, B]) ⇒ Validation[AA, BB]): \/[AA, BB]

Run a validation function and back to disjunction again.

Run a validation function and back to disjunction again. Alias for `@\?/`

54. #### def valueOr[BB >: B](x: (A) ⇒ BB): BB

Return the right value of this disjunction or run the given function on the left.

55. #### final def wait(): Unit

Definition Classes
AnyRef
Annotations
@throws( ... )
56. #### final def wait(arg0: Long, arg1: Int): Unit

Definition Classes
AnyRef
Annotations
@throws( ... )
57. #### final def wait(arg0: Long): Unit

Definition Classes
AnyRef
Annotations
@throws( ... )
58. #### def |[BB >: B](x: ⇒ BB): BB

Return the right value of this disjunction or the given default if left.

Return the right value of this disjunction or the given default if left. Alias for `getOrElse`

59. #### def |||[AA >: A, BB >: B](x: ⇒ \/[AA, BB]): \/[AA, BB]

Return this if it is a right, otherwise, return the given value.

Return this if it is a right, otherwise, return the given value. Alias for `orElse`

60. #### def ~[AA, BB](k: (\/[B, A]) ⇒ \/[BB, AA]): \/[AA, BB]

Run the given function on this swapped value.

Run the given function on this swapped value. Alias for `swapped`