abstract class Prism_[S, T, A, B] extends Prism0[S, T, A, B]
A Prism_ is used for selecting cases of a type, most often a sum type.
A Prism_ can fail to get or modify its focus.
A Prism_ can only focus at most one value.
- S
 the source of a Prism_
- T
 the modified source of a Prism_
- A
 the focus of a Prism_
- B
 the modified focus of a Prism_
- Self Type
 - Prism_[S, T, A, B]
 - Source
 - Prism.scala
 
- Alphabetic
 - By Inheritance
 
- Prism_
 - Prism0
 - Review0
 - AffineTraversal0
 - Fold0
 - FoldInstances
 - Getter0
 - Serializable
 - Traversal0
 - Setter0
 - AnyRef
 - Any
 
- Hide All
 - Show All
 
- Public
 - Protected
 
Instance Constructors
-  new Prism_()
 
Abstract Value Members
-   abstract  def viewOrModify(s: S): Either[T, A]
view the focus or return the modified source of an AffineTraversal
view the focus or return the modified source of an AffineTraversal
- Definition Classes
 - AffineTraversal0
 
 
Concrete Value Members
-   final  def !=(arg0: Any): Boolean
- Definition Classes
 - AnyRef → Any
 
 -   final  def ##: Int
- Definition Classes
 - AnyRef → Any
 
 -   final  def ==(arg0: Any): Boolean
- Definition Classes
 - AnyRef → Any
 
 -   final  def andThen[I, C, D](other: IndexedFold_[I, A, B, C, D]): IndexedFold_[I, S, T, C, D]
compose this Prism_ with an IndexedFold_, having this Prism_ applied first
 -   final  def andThen[I, C, D](other: IndexedGetter_[I, A, B, C, D]): IndexedFold_[I, S, T, C, D]
compose this Prism_ with an IndexedGetter_, having this Prism_ applied first
 -   final  def andThen[I, C, D](other: IndexedSetter_[I, A, B, C, D]): IndexedSetter_[I, S, T, C, D]
compose this Prism_ with an IndexedSetter_, having this Prism_ applied first
 -   final  def andThen[I, C, D](other: IndexedTraversal_[I, A, B, C, D]): IndexedTraversal_[I, S, T, C, D]
compose this Prism_ with an IndexedTraversal_, having this Prism_ applied first
 -   final  def andThen[I, C, D](other: AnIndexedLens_[I, A, B, C, D]): IndexedTraversal_[I, S, T, C, D]
compose this Prism_ with an AnIndexedLens_, having this Prism_ applied first
 -   final  def andThen[I, C, D](other: IndexedLens_[I, A, B, C, D]): IndexedTraversal_[I, S, T, C, D]
compose this Prism_ with an IndexedLens_, having this Prism_ applied first
 -   final  def andThen[C, D](other: Review_[A, B, C, D]): Review_[S, T, C, D]
compose this Prism_ with a Review_, having this Prism_ applied first
 -   final  def andThen[C, D](other: Fold_[A, B, C, D]): Fold_[S, T, C, D]
compose this Prism_ with a Fold_, having this Prism_ applied first
 -   final  def andThen[C, D](other: Getter_[A, B, C, D]): Fold_[S, T, C, D]
compose this Prism_ with a Getter_, having this Prism_ applied first
 -   final  def andThen[C, D](other: Setter_[A, B, C, D]): Setter_[S, T, C, D]
compose this Prism_ with a Setter_, having this Prism_ applied first
 -   final  def andThen[C, D](other: ATraversal_[A, B, C, D]): ATraversal_[S, T, C, D]
compose this Prism_ with an ATraversal_, having this Prism_ applied first
 -   final  def andThen[C, D](other: Traversal_[A, B, C, D]): Traversal_[S, T, C, D]
compose this Prism_ with a Traversal_, having this Prism_ applied first
 -   final  def andThen[C, D](other: AnAffineTraversal_[A, B, C, D]): AnAffineTraversal_[S, T, C, D]
compose this Prism_ with an AffineTraversal_, having this Prism_ applied first
 -   final  def andThen[C, D](other: AffineTraversal_[A, B, C, D]): AffineTraversal_[S, T, C, D]
compose this Prism_ with an AffineTraversal_, having this Prism_ applied first
 -   final  def andThen[C, D](other: APrism_[A, B, C, D]): APrism_[S, T, C, D]
compose this Prism_ with an APrism_, having this Prism_ applied first
 -   final  def andThen[C, D](other: Prism_[A, B, C, D]): Prism_[S, T, C, D]
compose this Prism_ with a Prism_, having this Prism_ applied first
 -   final  def andThen[C, D](other: ALens_[A, B, C, D]): AffineTraversal_[S, T, C, D]
compose this Prism_ with an ALens_, having this Prism_ applied first
 -   final  def andThen[C, D](other: Lens_[A, B, C, D]): AffineTraversal_[S, T, C, D]
compose this Prism_ with a Lens_, having this Prism_ applied first
 -   final  def andThen[C, D](other: AnIso_[A, B, C, D]): Prism_[S, T, C, D]
compose this Prism_ with an AnIso_, having this Prism_ applied first
 -   final  def andThen[C, D](other: Iso_[A, B, C, D]): Prism_[S, T, C, D]
compose this Prism_ with an Iso_, having this Prism_ applied first
 -  final def asAPrism: APrism_[S, T, A, B]
 -  final def asFold: Fold_[S, T, A, B]
 -   final  def asInstanceOf[T0]: T0
- Definition Classes
 - Any
 
 -    def clone(): AnyRef
- Attributes
 - protected[lang]
 - Definition Classes
 - AnyRef
 - Annotations
 - @throws(classOf[java.lang.CloneNotSupportedException]) @native()
 
 -   final  def compose[I, C, D](other: IndexedFold_[I, C, D, S, T]): IndexedFold_[I, C, D, A, B]
compose this Prism_ with an IndexedFold_, having this Prism_ applied last
 -   final  def compose[I, C, D](other: IndexedGetter_[I, C, D, S, T]): IndexedFold_[I, C, D, A, B]
compose this Prism_ with an IndexedGetter_, having this Prism_ applied last
 -   final  def compose[I, C, D](other: IndexedSetter_[I, C, D, S, T]): IndexedSetter_[I, C, D, A, B]
compose this Prism_ with an IndexedSetter_, having this Prism_ applied last
 -   final  def compose[I, C, D](other: IndexedTraversal_[I, C, D, S, T]): IndexedTraversal_[I, C, D, A, B]
compose this Prism_ with an IndexedTraversal_, having this Prism_ applied last
 -   final  def compose[I, C, D](other: AnIndexedLens_[I, C, D, S, T]): IndexedTraversal_[I, C, D, A, B]
compose this Prism_ with an AnIndexedLens_, having this Prism_ applied last
 -   final  def compose[I, C, D](other: IndexedLens_[I, C, D, S, T]): IndexedTraversal_[I, C, D, A, B]
compose this Prism_ with an IndexedLens_, having this Prism_ applied last
 -   final  def compose[C, D](other: Review_[C, D, S, T]): Review_[C, D, A, B]
compose this Prism_ with a Review_, having this Prism_ applied last
 -   final  def compose[C, D](other: Fold_[C, D, S, T]): Fold_[C, D, A, B]
compose this Prism_ with a Fold_, having this Prism_ applied last
 -   final  def compose[C, D](other: Getter_[C, D, S, T]): Fold_[C, D, A, B]
compose this Prism_ with a Getter_, having this Prism_ applied last
 -   final  def compose[C, D](other: Setter_[C, D, S, T]): Setter_[C, D, A, B]
compose this Prism_ with a Setter_, having this Prism_ applied last
 -   final  def compose[C, D](other: ATraversal_[C, D, S, T]): ATraversal_[C, D, A, B]
compose this Prism_ with an ATraversal_, having this Prism_ applied last
 -   final  def compose[C, D](other: Traversal_[C, D, S, T]): Traversal_[C, D, A, B]
compose this Prism_ with a Traversal_, having this Prism_ applied last
 -   final  def compose[C, D](other: AnAffineTraversal_[C, D, S, T]): AnAffineTraversal_[C, D, A, B]
compose this Prism_ with an AffineTraversal_, having this Prism_ applied last
 -   final  def compose[C, D](other: AffineTraversal_[C, D, S, T]): AffineTraversal_[C, D, A, B]
compose this Prism_ with an AffineTraversal_, having this Prism_ applied last
 -   final  def compose[C, D](other: APrism_[C, D, S, T]): APrism_[C, D, A, B]
compose this Prism_ with an APrism_, having this Prism_ applied last
 -   final  def compose[C, D](other: Prism_[C, D, S, T]): Prism_[C, D, A, B]
compose this Prism_ with a Prism_, having this Prism_ applied last
 -   final  def compose[C, D](other: ALens_[C, D, S, T]): AffineTraversal_[C, D, A, B]
compose this Prism_ with an ALens_, having this Prism_ applied last
 -   final  def compose[C, D](other: Lens_[C, D, S, T]): AffineTraversal_[C, D, A, B]
compose this Prism_ with a Lens_, having this Prism_ applied last
 -   final  def compose[C, D](other: AnIso_[C, D, S, T]): Prism_[C, D, A, B]
compose this Prism_ with an AnIso_, having this Prism_ applied last
 -   final  def compose[C, D](other: Iso_[C, D, S, T]): Prism_[C, D, A, B]
compose this Prism_ with an Iso_, having this Prism_ applied last
 -   final  def contains(a: A)(s: S)(implicit ev: Eq[A]): Boolean
test whether the focus of a Getter contains a given value
test whether the focus of a Getter contains a given value
- Definition Classes
 - Getter0
 
 -   final  def eq(arg0: AnyRef): Boolean
- Definition Classes
 - AnyRef
 
 -    def equals(arg0: AnyRef): Boolean
- Definition Classes
 - AnyRef → Any
 
 -   final  def exists(f: (A) => Boolean): (S) => Boolean
test whether a predicate holds for the focus of a Fold
test whether a predicate holds for the focus of a Fold
- Definition Classes
 - Fold0 → Getter0
 
 -   final  def failover[F[_]](f: (A) => B)(s: S)(implicit ev0: Choice[[β$3$, γ$4$]Kleisli[[β$2$](Disj[Boolean], β$2$), β$3$, γ$4$]], ev1: Alternative[F]): F[T]
try to map a function over this Prism_, failing if the Prism_ has no focus
 -    def finalize(): Unit
- Attributes
 - protected[lang]
 - Definition Classes
 - AnyRef
 - Annotations
 - @throws(classOf[java.lang.Throwable])
 
 -   final  def find(f: (A) => Boolean): (S) => Option[A]
find the first focus of an AffineTraversal that satisfies a predicate, if there is any
find the first focus of an AffineTraversal that satisfies a predicate, if there is any
- Definition Classes
 - AffineTraversal0 → Getter0
 
 -   final  def focus[C, D](f: (A) => C): Fold_[S, T, C, D]
compose this Prism_ with a function lifted to a Getter_, having this Prism_ applied first
 -    def foldMap[R](s: S)(f: (A) => R)(implicit arg0: Monoid[R]): R
- Attributes
 - protected
 - Definition Classes
 - Traversal0
 
 -   final  def forall[R](s: S)(f: (A) => R)(implicit arg0: Heyting[R]): R
test whether there is no focus or a predicate holds for the focus of a Fold, using a spire.algebra.lattice.Heyting algebra
test whether there is no focus or a predicate holds for the focus of a Fold, using a spire.algebra.lattice.Heyting algebra
- Definition Classes
 - Fold0
 
 -    def forall(f: (A) => Boolean): (S) => Boolean
test whether there is no focus or a predicate holds for the focus of a Fold
test whether there is no focus or a predicate holds for the focus of a Fold
- Definition Classes
 - Fold0
 
 -   final  def getClass(): Class[_ <: AnyRef]
- Definition Classes
 - AnyRef → Any
 - Annotations
 - @native()
 
 -    def hashCode(): Int
- Definition Classes
 - AnyRef → Any
 - Annotations
 - @native()
 
 -   final  def isEmpty(s: S): Boolean
check if the Fold does not contain a focus
check if the Fold does not contain a focus
- Definition Classes
 - Fold0
 
 -   final  def isInstanceOf[T0]: Boolean
- Definition Classes
 - Any
 
 -   implicit  def monoidBooleanDisj: Monoid[Disj[Boolean]]
- Definition Classes
 - FoldInstances
 
 -   final  def ne(arg0: AnyRef): Boolean
- Definition Classes
 - AnyRef
 
 -   final  def nonEmpty(s: S): Boolean
check if the Fold contains a focus
check if the Fold contains a focus
- Definition Classes
 - Fold0
 
 -   final  def notContains(a: A)(s: S)(implicit ev: Eq[A]): Boolean
test whether the focus of a Getter does not contain a given value
test whether the focus of a Getter does not contain a given value
- Definition Classes
 - Getter0
 
 -   final  def notExists(f: (A) => Boolean): (S) => Boolean
test whether a predicate does not hold for the focus of a Getter
test whether a predicate does not hold for the focus of a Getter
- Definition Classes
 - Getter0
 
 -   final  def notify(): Unit
- Definition Classes
 - AnyRef
 - Annotations
 - @native()
 
 -   final  def notifyAll(): Unit
- Definition Classes
 - AnyRef
 - Annotations
 - @native()
 
 -   final  def over(f: (A) => B): (S) => T
modify the focus type of a Prism_ using a function, resulting in a change of type to the full structure
 -   final  def overF[F[_]](f: (A) => F[B])(s: S)(implicit arg0: Applicative[F]): F[T]
synonym for traverse, flipped
synonym for traverse, flipped
- Definition Classes
 - Traversal0
 
 -   final  def overOption(f: (A) => B): (S) => Option[T]
modify the focus of an AffineTraversal using a function conditionally if it is not None, resulting in a change of type to the full structure
modify the focus of an AffineTraversal using a function conditionally if it is not None, resulting in a change of type to the full structure
- Definition Classes
 - AffineTraversal0
 
 -   final  def preview(s: S): Option[A]
view the first focus of a Fold, if there is any
view the first focus of a Fold, if there is any
- Definition Classes
 - Fold0
 
 -   final  def review(b: B): T
view the modified source of a Prism_
 -   final  def set(b: B): (S) => T
set the modified focus of a Setter
set the modified focus of a Setter
- Definition Classes
 - Setter0
 
 -   final  def setOption(b: B): (S) => Option[T]
set the focus of an AffineTraversal conditionally if it is not None
set the focus of an AffineTraversal conditionally if it is not None
- Definition Classes
 - AffineTraversal0
 
 -   final  def synchronized[T0](arg0: => T0): T0
- Definition Classes
 - AnyRef
 
 -    def toString(): String
- Definition Classes
 - AnyRef → Any
 
 -   final  def traverse[F[_]](s: S)(f: (A) => F[B])(implicit arg0: Applicative[F]): F[T]
modify the focus type of a Prism_ using a cats.Functor, resulting in a change of type to the full structure
modify the focus type of a Prism_ using a cats.Functor, resulting in a change of type to the full structure
- Definition Classes
 - Prism_ → Traversal0
 
 -   final  def wait(): Unit
- Definition Classes
 - AnyRef
 - Annotations
 - @throws(classOf[java.lang.InterruptedException])
 
 -   final  def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
 - AnyRef
 - Annotations
 - @throws(classOf[java.lang.InterruptedException])
 
 -   final  def wait(arg0: Long): Unit
- Definition Classes
 - AnyRef
 - Annotations
 - @throws(classOf[java.lang.InterruptedException]) @native()