# At

`interface At<S, I, A>`

At provides a Lens for a structure S to focus in A at a given index I.

### Parameters

`S` - source of Lens

`I` - index that uniquely identifies the focus of the Lens

`A` - focus that is supposed to be unique for a given pair S and I.

### Functions

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

### Companion Object Functions

 fromIso `fun fromIso(AT: ``At``<``U``, ``I``, ``A``>, iso: ``Iso``<``S``, ``U``>): ``At``<``S``, ``I``, ``A``>`Lift an instance of At using an Iso.

### Extension Functions

 remove `fun ``At``<``S``, ``I``, Option<``A``>>.remove(s: ``S``, i: ``I``): ``S`Delete a value associated with a key in a Map-like container`fun ``At``<``S``, ``I``, Option<``A``>>.remove(i: ``I``): (``S``) -> ``S`Lift deletion of a value associated with a key in a Map-like container

### Inheritors

 MapAt `interface MapAt : ``At``<``Map``<``K``, ``V``>, ``K``, Option<``V``>>`At instance definition for Map. MapKAt `interface MapKAt : ``At``, ``K``, Option<``V``>>`At instance definition for MapK. SetAt `interface SetAt : ``At``<``Set``<``A``>, ``A``, ``Boolean``>`At instance definition for Set. SetKAt `interface SetKAt : ``At``, ``A``, ``Boolean``>`At instance definition for SetK.