Trait optics::traits::AffineFoldRef

source ·
pub trait AffineFoldRef<'a, T: ?Sized>: Optics<T> + OpticsFallible
where Self::View: 'a,
{ // Required method fn preview_ref(&self, s: &'a T) -> Result<&'a Self::View, Self::Error>; }
Expand description

AffineFold, with shared references.

Required Methods§

source

fn preview_ref(&self, s: &'a T) -> Result<&'a Self::View, Self::Error>

Retrieve a shared reference the value targeted by an AffineFold.

Implementations on Foreign Types§

source§

impl<'a, L: AffineFoldRef<'a, T>, T: ?Sized + 'a> AffineFoldRef<'a, T> for &L
where Self::View: 'a,

source§

fn preview_ref(&self, s: &'a T) -> Result<&'a L::View, Self::Error>

Implementors§

source§

impl<'a, T0> AffineFoldRef<'a, (T0,)> for _0
where T0: 'a,

source§

impl<'a, T0, T1> AffineFoldRef<'a, (T0, T1)> for _0
where T0: 'a,

source§

impl<'a, T0, T1> AffineFoldRef<'a, (T0, T1)> for _1
where T1: 'a,

source§

impl<'a, T0, T1, T2> AffineFoldRef<'a, (T0, T1, T2)> for _0
where T0: 'a,

source§

impl<'a, T0, T1, T2> AffineFoldRef<'a, (T0, T1, T2)> for _1
where T1: 'a,

source§

impl<'a, T0, T1, T2> AffineFoldRef<'a, (T0, T1, T2)> for _2
where T2: 'a,

source§

impl<'a, T0, T1, T2, T3> AffineFoldRef<'a, (T0, T1, T2, T3)> for _0
where T0: 'a,

source§

impl<'a, T0, T1, T2, T3> AffineFoldRef<'a, (T0, T1, T2, T3)> for _1
where T1: 'a,

source§

impl<'a, T0, T1, T2, T3> AffineFoldRef<'a, (T0, T1, T2, T3)> for _2
where T2: 'a,

source§

impl<'a, T0, T1, T2, T3> AffineFoldRef<'a, (T0, T1, T2, T3)> for _3
where T3: 'a,

source§

impl<'a, T> AffineFoldRef<'a, Option<T>> for _Some
where T: 'a,

source§

impl<'a, T> AffineFoldRef<'a, T> for Identity
where T: 'a,

source§

impl<'a, T, E> AffineFoldRef<'a, Result<T, E>> for _Err
where E: 'a,

source§

impl<'a, T, E> AffineFoldRef<'a, Result<T, E>> for _Ok
where T: 'a,

source§

impl<'a, T: ?Sized + 'a> AffineFoldRef<'a, T> for _Identity<T>

source§

impl<'a, T: ?Sized, K, L> AffineFoldRef<'a, T> for Compose<K, L>
where K: AffineFoldRef<'a, T>, K::View: 'a, L: AffineFoldRef<'a, K::View>, L::View: 'a,

source§

impl<'a, T: ?Sized, L: AffineFoldRef<'a, T>, S, F, E, G> AffineFoldRef<'a, T> for MapFallible<L, F, G>
where F: Fn(L::Success) -> S, G: Fn(L::Error) -> E, L::View: 'a,