LensInstances

abstract
class Object
trait Matchable
class Any
object Lens
object LensFamily

Type members

Classlikes

case
class ArrayLensFamily[S1, S2, A](lens: LensFamily[S1, S2, Array[A], Array[A]])

Provide an imperative-seeming API for arrays viewed through a lens

Provide an imperative-seeming API for arrays viewed through a lens

case
class FractionalLensFamily[S1, S2, F](lens: LensFamily[S1, S2, F, F], frac: Fractional[F])

Allow the illusion of imperative updates to numbers viewed through a lens

Allow the illusion of imperative updates to numbers viewed through a lens

case
class IntegralLensFamily[S1, S2, I](lens: LensFamily[S1, S2, I, I], ig: Integral[I])

Allow the illusion of imperative updates to numbers viewed through a lens

Allow the illusion of imperative updates to numbers viewed through a lens

case
class MapLensFamily[S1, S2, K, V](lens: LensFamily[S1, S2, Map[K, V], Map[K, V]])

A lens that views an immutable Map type can provide a mutable.Map-like API via State

A lens that views an immutable Map type can provide a mutable.Map-like API via State

case
class NumericLensFamily[S1, S2, N](lens: LensFamily[S1, S2, N, N], num: Numeric[N])

Allow the illusion of imperative updates to numbers viewed through a lens

Allow the illusion of imperative updates to numbers viewed through a lens

case
class QueueLensFamily[S1, S2, A](lens: LensFamily[S1, S2, Queue[A], Queue[A]])

Provide an imperative-seeming API for queues viewed through a lens

Provide an imperative-seeming API for queues viewed through a lens

case
class SeqLikeLensFamily[S1, S2, A, Repr <: SeqLike[A, Repr]](lens: LensFamily[S1, S2, Repr, Repr])

Provide the appearance of a mutable-like API for sorting sequences through a lens

Provide the appearance of a mutable-like API for sorting sequences through a lens

case
class SetLensFamily[S1, S2, K](lens: LensFamily[S1, S2, Set[K], Set[K]])

Types

type ArrayLens[S, A] = ArrayLensFamily[S, S, A]
type FractionalLens[S, F] = FractionalLensFamily[S, S, F]
type IntegralLens[S, I] = IntegralLensFamily[S, S, I]
type MapLens[S, K, V] = MapLensFamily[S, S, K, V]
type NumericLens[S, N] = NumericLensFamily[S, S, N]
type QueueLens[S, A] = QueueLensFamily[S, S, A]
type SeqLikeLens[S, A, Repr <: SeqLike[A, Repr]] = SeqLikeLensFamily[S, S, A, Repr]
type SetLens[S, K] = SetLensFamily[S, S, K]

Value members

Concrete fields

val ArrayLens: ArrayLensFamily
val FractionalLens: FractionalLensFamily
val IntegralLens: IntegralLensFamily
val MapLens: MapLensFamily
val NumericLens: NumericLensFamily
val QueueLens: QueueLensFamily
val SeqLikeLens: SeqLikeLensFamily
val SetLens: SetLensFamily

Implicits

Implicits

implicit
def LensFamilyState[A, B](lens: LensFamily[A, _, B, _]): State[A, B]

Lenses may be used implicitly as State monadic actions that get the viewed portion of the state

Lenses may be used implicitly as State monadic actions that get the viewed portion of the state

implicit
def LensFamilyUnzip[S, R]: Unzip[[α] =>> LensFamily[S, R, α, α]]
implicit
def arrayLensFamily[S1, S2, A](lens: LensFamily[S1, S2, Array[A], Array[A]]): ArrayLensFamily[S1, S2, A]
implicit
def fractionalLensFamily[S1, S2, F : Fractional](lens: LensFamily[S1, S2, F, F]): FractionalLensFamily[S1, S2, F]
implicit
def integralLensFamily[S1, S2, I : Integral](lens: LensFamily[S1, S2, I, I]): IntegralLensFamily[S1, S2, I]
implicit
val lensCategory: LensCategory
implicit
def mapLensFamily[S1, S2, K, V](lens: LensFamily[S1, S2, Map[K, V], Map[K, V]]): MapLensFamily[S1, S2, K, V]
implicit
def numericLensFamily[S1, S2, N : Numeric](lens: LensFamily[S1, S2, N, N]): NumericLensFamily[S1, S2, N]
implicit
def queueLensFamily[S1, S2, A](lens: LensFamily[S1, S2, Queue[A], Queue[A]]): QueueLensFamily[S1, S2, A]
implicit
def seqLensFamily[S1, S2, A](lens: LensFamily[S1, S2, Seq[A], Seq[A]]): SeqLikeLensFamily[S1, S2, A, Seq[A]]
implicit
def setLensFamily[S1, S2, K](lens: LensFamily[S1, S2, Set[K], Set[K]]): SetLensFamily[S1, S2, K]

A lens that views a Set can provide the appearance of in place mutation

A lens that views a Set can provide the appearance of in place mutation

implicit
def tuple2LensFamily[S1, S2, A, B](lens: LensFamily[S1, S2, (A, B), (A, B)]): (LensFamily[S1, S2, A, A], LensFamily[S1, S2, B, B])
implicit
def tuple3LensFamily[S1, S2, A, B, C](lens: LensFamily[S1, S2, (A, B, C), (A, B, C)]): (LensFamily[S1, S2, A, A], LensFamily[S1, S2, B, B], LensFamily[S1, S2, C, C])
implicit
def tuple4LensFamily[S1, S2, A, B, C, D](lens: LensFamily[S1, S2, (A, B, C, D), (A, B, C, D)]): (LensFamily[S1, S2, A, A], LensFamily[S1, S2, B, B], LensFamily[S1, S2, C, C], LensFamily[S1, S2, D, D])
implicit
def tuple5LensFamily[S1, S2, A, B, C, D, E](lens: LensFamily[S1, S2, (A, B, C, D, E), (A, B, C, D, E)]): (LensFamily[S1, S2, A, A], LensFamily[S1, S2, B, B], LensFamily[S1, S2, C, C], LensFamily[S1, S2, D, D], LensFamily[S1, S2, E, E])
implicit
def tuple6LensFamily[S1, S2, A, B, C, D, E, H](lens: LensFamily[S1, S2, (A, B, C, D, E, H), (A, B, C, D, E, H)]): (LensFamily[S1, S2, A, A], LensFamily[S1, S2, B, B], LensFamily[S1, S2, C, C], LensFamily[S1, S2, D, D], LensFamily[S1, S2, E, E], LensFamily[S1, S2, H, H])
implicit
def tuple7LensFamily[S1, S2, A, B, C, D, E, H, I](lens: LensFamily[S1, S2, (A, B, C, D, E, H, I), (A, B, C, D, E, H, I)]): (LensFamily[S1, S2, A, A], LensFamily[S1, S2, B, B], LensFamily[S1, S2, C, C], LensFamily[S1, S2, D, D], LensFamily[S1, S2, E, E], LensFamily[S1, S2, H, H], LensFamily[S1, S2, I, I])

Inherited implicits

implicit
def seqLikeLensFamily[S1, S2, A, Repr <: SeqLike[A, LazyRef(...)]](lens: LensFamily[S1, S2, Repr, Repr]): SeqLikeLensFamily[S1, S2, A, Repr]
Inherited from
LensInstances0