Trait refraction::Iso
[−]
[src]
pub trait Iso: Lens + Prism where
Self::AtInitial: Iso,
Self::AtFinal: Iso, { }
The supertype of all isomorphism families.
Implementors
impl<S, T> Iso for Identity<S, T>
impl<LF: Iso, LS: ?Sized> Iso for Compose<LF, LS> where
LS: Iso<InitialTarget = LF::InitialSource, FinalTarget = LF::FinalSource>,
LF::AtInitial: Iso,
LF::AtFinal: Iso,
LS::AtInitial: Iso,
LS::AtFinal: Iso,impl<L: Iso> Iso for Invert<L> where
L::AtInitial: Iso,
L::AtFinal: Iso,impl<S, A, T, B> Iso for Conv<S, A, T, B> where
S: Into<A>,
A: Into<S>,
B: Into<T>,
T: Into<B>,impl<'a, S: ?Sized, A: ?Sized, T: ?Sized, B: ?Sized> Iso for ConvRef<'a, S, A, T, B> where
S: AsRef<A> + 'a,
A: AsRef<S> + 'a,
T: AsRef<B> + 'a,
B: AsRef<T> + 'a,impl<'a, S: ?Sized, A: ?Sized, T: ?Sized, B: ?Sized> Iso for ConvMut<'a, S, A, T, B> where
S: AsMut<A> + 'a,
A: AsMut<S> + 'a,
T: AsMut<B> + 'a,
B: AsMut<T> + 'a,