Iso_

abstract class Iso_[S, T, A, B] extends Iso0[S, T, A, B]

An Iso_ is a generalized isomorphism.

An Iso_ is a complete reversible transformation between two types.

Type parameters:
A

the focus of an Iso_

B

the modified focus of a Iso_

S

the source of an Iso_

T

the modified source of an Iso_

Companion:
object
trait Iso0[S, T, A, B]
trait Review0[T, B]
trait Getter1[S, A]
trait Getter0[S, A]
trait Traversal0[S, T, A, B]
trait Setter0[S, T, A, B]
class Object
trait Matchable
class Any
Iso_[S, T, A, B]

Value members

Concrete methods

final def andThen[C, D](other: Iso_[A, B, C, D]): Iso_[S, T, C, D]

compose this Iso_ with an Iso_, having this Iso_ applied first

compose this Iso_ with an Iso_, having this Iso_ applied first

final def andThen[C, D](other: AnIso_[A, B, C, D]): AnIso_[S, T, C, D]

compose this Iso_ with an AnIso_, having this Iso_ applied first

compose this Iso_ with an AnIso_, having this Iso_ applied first

final def andThen[C, D](other: Lens_[A, B, C, D]): Lens_[S, T, C, D]

compose this Iso_ with a Lens_, having this Iso_ applied first

compose this Iso_ with a Lens_, having this Iso_ applied first

final def andThen[C, D](other: ALens_[A, B, C, D]): ALens_[S, T, C, D]

compose this Iso_ with an ALens_, having this Iso_ applied first

compose this Iso_ with an ALens_, having this Iso_ applied first

final def andThen[C, D](other: Prism_[A, B, C, D]): Prism_[S, T, C, D]

compose this Iso_ with a Prism_, having this Iso_ applied first

compose this Iso_ with a Prism_, having this Iso_ applied first

final def andThen[C, D](other: APrism_[A, B, C, D]): APrism_[S, T, C, D]

compose this Iso_ with an APrism_, having this Iso_ applied first

compose this Iso_ with an APrism_, having this Iso_ applied first

final def andThen[C, D](other: AffineTraversal_[A, B, C, D]): AffineTraversal_[S, T, C, D]

compose this Iso_ with an AffineTraversal_, having this Iso_ applied first

compose this Iso_ with an AffineTraversal_, having this Iso_ applied first

final def andThen[C, D](other: AnAffineTraversal_[A, B, C, D]): AnAffineTraversal_[S, T, C, D]

compose this Iso_ with an AnAffineTraversal_, having this Iso_ applied first

compose this Iso_ with an AnAffineTraversal_, having this Iso_ applied first

final def andThen[C, D](other: Traversal_[A, B, C, D]): Traversal_[S, T, C, D]

compose this Iso_ with a Traversal_, having this Iso_ applied first

compose this Iso_ with a Traversal_, having this Iso_ applied first

final def andThen[C, D](other: ATraversal_[A, B, C, D]): ATraversal_[S, T, C, D]

compose this Iso_ with an ATraversal_, having this Iso_ applied first

compose this Iso_ with an ATraversal_, having this Iso_ applied first

final def andThen[C, D](other: Setter_[A, B, C, D]): Setter_[S, T, C, D]

compose this Iso_ with a Setter_, having this Iso_ applied first

compose this Iso_ with a Setter_, having this Iso_ applied first

final def andThen[C, D](other: Getter_[A, B, C, D]): Getter_[S, T, C, D]

compose this Iso_ with a Getter_, having this Iso_ applied first

compose this Iso_ with a Getter_, having this Iso_ applied first

final def andThen[C, D](other: Fold_[A, B, C, D]): Fold_[S, T, C, D]

compose this Iso_ with a Fold_, having this Iso_ applied first

compose this Iso_ with a Fold_, having this Iso_ applied first

final def andThen[C, D](other: Grate_[A, B, C, D]): Grate_[S, T, C, D]

compose this Iso_ with a Grate_, having this Iso_ applied first

compose this Iso_ with a Grate_, having this Iso_ applied first

final def andThen[C, D](other: Review_[A, B, C, D]): Review_[S, T, C, D]

compose this Iso_ with a Review_, having this Iso_ applied first

compose this Iso_ with a Review_, having this Iso_ applied first

final def andThen[I, C, D](other: IndexedLens_[I, A, B, C, D]): IndexedLens_[I, S, T, C, D]

compose this Iso_ with an IndexedLens_, having this Iso_ applied first

compose this Iso_ with an IndexedLens_, having this Iso_ applied first

final def andThen[I, C, D](other: AnIndexedLens_[I, A, B, C, D]): AnIndexedLens_[I, S, T, C, D]

compose this Iso_ with an AnIndexedLens_, having this Iso_ applied first

compose this Iso_ with an AnIndexedLens_, having this Iso_ applied first

final def andThen[I, C, D](other: IndexedTraversal_[I, A, B, C, D]): IndexedTraversal_[I, S, T, C, D]

compose this Iso_ with an IndexedTraversal_, having this Iso_ applied first

compose this Iso_ with an IndexedTraversal_, having this Iso_ applied first

final def andThen[I, C, D](other: IndexedSetter_[I, A, B, C, D]): IndexedSetter_[I, S, T, C, D]

compose this Iso_ with an IndexedFold_, having this Iso_ applied first

compose this Iso_ with an IndexedFold_, having this Iso_ applied first

final def andThen[I, C, D](other: IndexedGetter_[I, A, B, C, D]): IndexedFold_[I, S, T, C, D]

compose this Iso_ with an IndexedGetter_, having this Iso_ applied first

compose this Iso_ with an IndexedGetter_, having this Iso_ applied first

final def andThen[I, C, D](other: IndexedFold_[I, A, B, C, D]): IndexedFold_[I, S, T, C, D]

compose this Iso_ with an IndexedFold_, having this Iso_ applied first

compose this Iso_ with an IndexedFold_, having this Iso_ applied first

final def compose[C, D](other: Iso_[C, D, S, T]): Iso_[C, D, A, B]

compose this Iso_ with an Iso_, having this Iso_ applied last

compose this Iso_ with an Iso_, having this Iso_ applied last

final def compose[C, D](other: AnIso_[C, D, S, T]): AnIso_[C, D, A, B]

compose this Iso_ with an AnIso_, having this Iso_ applied last

compose this Iso_ with an AnIso_, having this Iso_ applied last

final def compose[C, D](other: Lens_[C, D, S, T]): Lens_[C, D, A, B]

compose this Iso_ with a Lens_, having this Iso_ applied last

compose this Iso_ with a Lens_, having this Iso_ applied last

final def compose[C, D](other: ALens_[C, D, S, T]): ALens_[C, D, A, B]

compose this Iso_ with an ALens_, having this Iso_ applied last

compose this Iso_ with an ALens_, having this Iso_ applied last

final def compose[C, D](other: Prism_[C, D, S, T]): Prism_[C, D, A, B]

compose this Iso_ with a Prism_, having this Iso_ applied last

compose this Iso_ with a Prism_, having this Iso_ applied last

final def compose[C, D](other: APrism_[C, D, S, T]): APrism_[C, D, A, B]

compose this Iso_ with an APrism_, having this Iso_ applied last

compose this Iso_ with an APrism_, having this Iso_ applied last

final def compose[C, D](other: AffineTraversal_[C, D, S, T]): AffineTraversal_[C, D, A, B]

compose this Iso_ with an AffineTraversal_, having this Iso_ applied last

compose this Iso_ with an AffineTraversal_, having this Iso_ applied last

final def compose[C, D](other: AnAffineTraversal_[C, D, S, T]): AnAffineTraversal_[C, D, A, B]

compose this Iso_ with an AnAffineTraversal_, having this Iso_ applied last

compose this Iso_ with an AnAffineTraversal_, having this Iso_ applied last

final def compose[C, D](other: Traversal_[C, D, S, T]): Traversal_[C, D, A, B]

compose this Iso_ with a Traversal_, having this Iso_ applied last

compose this Iso_ with a Traversal_, having this Iso_ applied last

final def compose[C, D](other: ATraversal_[C, D, S, T]): ATraversal_[C, D, A, B]

compose this Iso_ with an ATraversal_, having this Iso_ applied last

compose this Iso_ with an ATraversal_, having this Iso_ applied last

final def compose[C, D](other: Setter_[C, D, S, T]): Setter_[C, D, A, B]

compose this Iso_ with a Setter_, having this Iso_ applied last

compose this Iso_ with a Setter_, having this Iso_ applied last

final def compose[C, D](other: Getter_[C, D, S, T]): Getter_[C, D, A, B]

compose this Iso_ with a Getter_, having this Iso_ applied last

compose this Iso_ with a Getter_, having this Iso_ applied last

final def compose[C, D](other: Fold_[C, D, S, T]): Fold_[C, D, A, B]

compose this Iso_ with a Fold_, having this Iso_ applied last

compose this Iso_ with a Fold_, having this Iso_ applied last

final def compose[C, D](other: Grate_[C, D, S, T]): Grate_[C, D, A, B]

compose this Iso_ with a Grate_, having this Iso_ applied last

compose this Iso_ with a Grate_, having this Iso_ applied last

final def compose[C, D](other: Review_[C, D, S, T]): Review_[C, D, A, B]

compose this Iso_ with a Review_, having this Iso_ applied last

compose this Iso_ with a Review_, having this Iso_ applied last

final def compose[I, C, D](other: IndexedLens_[I, C, D, S, T]): IndexedLens_[I, C, D, A, B]

compose this Iso_ with an IndexedLens_, having this Iso_ applied last

compose this Iso_ with an IndexedLens_, having this Iso_ applied last

final def compose[I, C, D](other: AnIndexedLens_[I, C, D, S, T]): AnIndexedLens_[I, C, D, A, B]

compose this Iso_ with an AnIndexedLens_, having this Iso_ applied last

compose this Iso_ with an AnIndexedLens_, having this Iso_ applied last

final def compose[I, C, D](other: IndexedTraversal_[I, C, D, S, T]): IndexedTraversal_[I, C, D, A, B]

compose this Iso_ with an IndexedTraversal_, having this Iso_ applied last

compose this Iso_ with an IndexedTraversal_, having this Iso_ applied last

final def compose[I, C, D](other: IndexedSetter_[I, C, D, S, T]): IndexedSetter_[I, C, D, A, B]

compose this Iso_ with an IndexedFold_, having this Iso_ applied last

compose this Iso_ with an IndexedFold_, having this Iso_ applied last

final def compose[I, C, D](other: IndexedGetter_[I, C, D, S, T]): IndexedFold_[I, C, D, A, B]

compose this Iso_ with an IndexedGetter_, having this Iso_ applied last

compose this Iso_ with an IndexedGetter_, having this Iso_ applied last

final def compose[I, C, D](other: IndexedFold_[I, C, D, S, T]): IndexedFold_[I, C, D, A, B]

compose this Iso_ with an IndexedFold_, having this Iso_ applied last

compose this Iso_ with an IndexedFold_, having this Iso_ applied last

final def cotraverse[F[_]](fs: F[S])(f: F[A] => B)(implicit ev: Applicative[F]): T

modify an effectful focus of an Iso_ to the type of the modified focus, resulting in a change of type to the full structure

modify an effectful focus of an Iso_ to the type of the modified focus, resulting in a change of type to the full structure

final def focus[C, D](f: A => C): Getter_[S, T, C, D]

compose this Iso_ with a function lifted to a Getter_, having this Iso_ applied first

compose this Iso_ with a function lifted to a Getter_, having this Iso_ applied first

final def over(f: A => B): S => T

modify the focus type of an Iso_ using a function, resulting in a change of type to the full structure

modify the focus type of an Iso_ using a function, resulting in a change of type to the full structure

final def reverse: Iso_[B, A, T, S]

reverse an Iso_ by swapping the source and the focus

reverse an Iso_ by swapping the source and the focus

final override def review(b: B): T

view the modified source of an Iso_

view the modified source of an Iso_

Definition Classes
Review0
final override def traverse[F[_]](s: S)(f: A => F[B])(implicit ev: Applicative[F]): F[T]

modify the focus type of an Iso_ using a cats.Functor, resulting in a change of type to the full structure

modify the focus type of an Iso_ using a cats.Functor, resulting in a change of type to the full structure

Definition Classes
Traversal0
final override def view(s: S): A

view the focus of an Iso_

view the focus of an Iso_

Definition Classes
Getter1
final def zipWith[F[_]](s1: S, s2: S)(f: (A, A) => B): T

zip two sources of an Iso_ together provided a binary operation which modify the focus type of an Iso_

zip two sources of an Iso_ together provided a binary operation which modify the focus type of an Iso_

final def zipWithF[F[_] : Applicative](f: F[A] => B)(fs: F[S]): T

synonym for cotraverse, flipped

synonym for cotraverse, flipped

Inherited methods

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

Inherited from:
Getter0
final override def exists(f: A => Boolean): S => Boolean

test whether a predicate holds for the focus of a Getter

test whether a predicate holds for the focus of a Getter

Definition Classes
Getter1 -> Getter0
Inherited from:
Getter1
final def find(f: A => Boolean): S => Option[A]

find the first focus of a Getter that satisfies a predicate, if there is any

find the first focus of a Getter that satisfies a predicate, if there is any

Inherited from:
Getter1
protected def foldMap[R : Monoid](s: S)(f: A => R): R
Inherited from:
Traversal0
final def isEmpty(s: S): Boolean

check if the Getter does not contain a focus

check if the Getter does not contain a focus

Inherited from:
Getter0
final def nonEmpty(s: S): Boolean

check if the Getter contains a focus

check if the Getter contains a focus

Inherited from:
Getter0
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

Inherited from:
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

Inherited from:
Getter0
final def overF[F[_] : Applicative](f: A => F[B])(s: S): F[T]

synonym for traverse, flipped

synonym for traverse, flipped

Inherited from:
Traversal0
final def set(b: B): S => T

set the modified foci of a Setter

set the modified foci of a Setter

Inherited from:
Setter0
final def use(implicit ev: State[S, A]): State[S, A]

view the focus of a Getter in the state of a monad

view the focus of a Getter in the state of a monad

Inherited from:
Getter1
protected def viewOption(s: S): Option[A]
Inherited from:
Getter1