arrow-optics / arrow.optics.typeclasses / Index

Index

interface Index<S, I, A>

Index provides an Optional for a structure S to focus in an optional A at a given index I.

Parameters

S - source of Optional

I - index

A - focus of Optional, A is supposed to be unique for a given pair S and I.

Functions

get DSL to compose Index with a Lens for a structure S to focus in on A at given index I.open operator fun <T> Lens<T, S>.get(i: I): Optional<T, A>
DSL to compose Index with an Iso for a structure S to focus in on A at given index I.open operator fun <T> Iso<T, S>.get(i: I): Optional<T, A>
DSL to compose Index with a Prism for a structure S to focus in on A at given index I.open operator fun <T> Prism<T, S>.get(i: I): Optional<T, A>
DSL to compose Index with an Optional for a structure S to focus in on A at given index I.open operator fun <T> Optional<T, S>.get(i: I): Optional<T, A>
DSL to compose Index with a Setter for a structure S to focus in on A at given index I.open operator fun <T> Setter<T, S>.get(i: I): Setter<T, A>
DSL to compose Index with a Traversal for a structure S to focus in on A at given index I.open operator fun <T> Traversal<T, S>.get(i: I): Traversal<T, A>
DSL to compose Index with a Fold for a structure S to focus in on A at given index I.open operator fun <T> Fold<T, S>.get(i: I): Fold<T, A>
index Get Optional focus A for a structure S at index i.abstract fun index(i: I): Optional<S, A>
DSL to compose Index with a Lens for a structure S to focus in on A at given index I.open fun <T> Lens<T, S>.index(i: I): Optional<T, A>
DSL to compose Index with an Iso for a structure S to focus in on A at given index I.open fun <T> Iso<T, S>.index(i: I): Optional<T, A>
DSL to compose Index with a Prism for a structure S to focus in on A at given index I.open fun <T> Prism<T, S>.index(i: I): Optional<T, A>
DSL to compose Index with an Optional for a structure S to focus in on A at given index I.open fun <T> Optional<T, S>.index(i: I): Optional<T, A>
DSL to compose Index with a Setter for a structure S to focus in on A at given index I.open fun <T> Setter<T, S>.index(i: I): Setter<T, A>
DSL to compose Index with a Traversal for a structure S to focus in on A at given index I.open fun <T> Traversal<T, S>.index(i: I): Traversal<T, A>
DSL to compose Index with a Fold for a structure S to focus in on A at given index I.open fun <T> Fold<T, S>.index(i: I): Fold<T, A>

Companion Object Functions

fromIso Lift an instance of Index using an Iso.fun <S, A, I, B> fromIso(ID: Index<A, I, B>, iso: Iso<S, A>): Index<S, I, B>

Inheritors

ListIndex Index instance definition for List.interface ListIndex<A> : Index<List<A>, Int, A>
ListKIndex Index instance definition for ListK.interface ListKIndex<A> : Index<ListK<A>, Int, A>
MapIndex Index instance definition for Map.interface MapIndex<K, V> : Index<Map<K, V>, K, V>
MapKIndex Index instance definition for Map.interface MapKIndex<K, V> : Index<MapK<K, V>, K, V>
NonEmptyListIndex Index instance definition for NonEmptyList.interface NonEmptyListIndex<A> : Index<NonEmptyList<A>, Int, A>
SequenceKIndex Index instance definition for SequenceK.interface SequenceKIndex<A> : Index<SequenceK<A>, Int, A>
StringIndex Index instance for String. It allows access to every Char in a String by its index’s position.interface StringIndex : Index<String, Int, Char>

Type Class Hierarchy

Do you like Arrow?

Arrow Org
<