Struct refraction::Compose
[−]
[src]
pub struct Compose<LF, LS: ?Sized> { /* fields omitted */ }
Composition of lenticuloids.
Methods
impl<LF, LS> Compose<LF, LS>
[src]
fn of(lf: LF, ls: LS) -> Self
Trait Implementations
impl<LF: PartialLens, LS: ?Sized> PartialLens for Compose<LF, LS> where
LS: PartialLens<InitialTarget = LF::InitialSource, FinalTarget = LF::FinalSource>,
LF::AtInitial: PartialLens,
LF::AtFinal: PartialLens,
LS::AtInitial: PartialLens,
LS::AtFinal: PartialLens,
[src]
LS: PartialLens<InitialTarget = LF::InitialSource, FinalTarget = LF::FinalSource>,
LF::AtInitial: PartialLens,
LF::AtFinal: PartialLens,
LS::AtInitial: PartialLens,
LS::AtFinal: PartialLens,
fn try_get(
&self,
v: Self::InitialSource
) -> Result<Self::InitialTarget, Self::FinalSource>
&self,
v: Self::InitialSource
) -> Result<Self::InitialTarget, Self::FinalSource>
fn try_get_inject(
&self,
v: Self::InitialSource
) -> Result<(Self::InitialTarget, Injector<Self::FinalTarget, Self::FinalSource>), Self::FinalSource>
&self,
v: Self::InitialSource
) -> Result<(Self::InitialTarget, Injector<Self::FinalTarget, Self::FinalSource>), Self::FinalSource>
This signature is somewhat hacky; it awaits resolution of the FnBox
issue for better design. Notably, the injection function returned by this method will (if law-abiding) only return Some
exactly once; every time afterwards, it will return None
. Read more
fn set(&self, v: Self::InitialSource, x: Self::FinalTarget) -> Self::FinalSource
fn exchange(
&self,
v: Self::InitialSource,
x: Self::FinalTarget
) -> (Option<Self::InitialTarget>, Self::FinalSource)
&self,
v: Self::InitialSource,
x: Self::FinalTarget
) -> (Option<Self::InitialTarget>, Self::FinalSource)
fn modify<F>(&self, v: Self::InitialSource, f: F) -> Self::FinalSource where
F: FnOnce(Self::InitialTarget) -> Self::FinalTarget,
F: FnOnce(Self::InitialTarget) -> Self::FinalTarget,
fn modify_with<F, X>(
&self,
v: Self::InitialSource,
f: F
) -> (Self::FinalSource, Option<X>) where
F: FnOnce(Self::InitialTarget) -> (Self::FinalTarget, X),
&self,
v: Self::InitialSource,
f: F
) -> (Self::FinalSource, Option<X>) where
F: FnOnce(Self::InitialTarget) -> (Self::FinalTarget, X),
impl<LF: Lens, LS: ?Sized> Lens for Compose<LF, LS> where
LS: Lens<InitialTarget = LF::InitialSource, FinalTarget = LF::FinalSource>,
LF::AtInitial: Lens,
LF::AtFinal: Lens,
LS::AtInitial: Lens,
LS::AtFinal: Lens,
[src]
LS: Lens<InitialTarget = LF::InitialSource, FinalTarget = LF::FinalSource>,
LF::AtInitial: Lens,
LF::AtFinal: Lens,
LS::AtInitial: Lens,
LS::AtFinal: Lens,
fn get(&self, v: Self::InitialSource) -> Self::InitialTarget
impl<LF: Prism, LS: ?Sized> Prism for Compose<LF, LS> where
LS: Prism<InitialTarget = LF::InitialSource, FinalTarget = LF::FinalSource>,
LF::AtInitial: Prism,
LF::AtFinal: Prism,
LS::AtInitial: Prism,
LS::AtFinal: Prism,
[src]
LS: Prism<InitialTarget = LF::InitialSource, FinalTarget = LF::FinalSource>,
LF::AtInitial: Prism,
LF::AtFinal: Prism,
LS::AtInitial: Prism,
LS::AtFinal: Prism,
fn inject(&self, v: Self::FinalTarget) -> Self::FinalSource
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,
[src]
LS: Iso<InitialTarget = LF::InitialSource, FinalTarget = LF::FinalSource>,
LF::AtInitial: Iso,
LF::AtFinal: Iso,
LS::AtInitial: Iso,
LS::AtFinal: Iso,
impl<LF: Clone, LS: Clone + ?Sized> Clone for Compose<LF, LS>
[src]
fn clone(&self) -> Compose<LF, LS>
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0
Performs copy-assignment from source
. Read more
impl<LF: Copy, LS: Copy + ?Sized> Copy for Compose<LF, LS>
[src]
impl<LF: Debug, LS: Debug + ?Sized> Debug for Compose<LF, LS>
[src]
impl<LF: Default, LS: Default + ?Sized> Default for Compose<LF, LS>
[src]
impl<LF: Lenticuloid, LS: ?Sized> Lenticuloid for Compose<LF, LS> where
LS: Lenticuloid<InitialTarget = LF::InitialSource, FinalTarget = LF::FinalSource>,
[src]
LS: Lenticuloid<InitialTarget = LF::InitialSource, FinalTarget = LF::FinalSource>,