Struct refraction::Invert
[−]
[src]
pub struct Invert<L: ?Sized> { /* fields omitted */ }
The inversion of a lenticuloid.
Methods
impl<L> Invert<L>
[src]
fn of(l: L) -> Self
Trait Implementations
impl<L: Iso> PartialLens for Invert<L> where
L::AtInitial: Iso,
L::AtFinal: Iso,
[src]
L::AtInitial: Iso,
L::AtFinal: Iso,
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
&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<L: Iso> Lens for Invert<L> where
L::AtInitial: Iso,
L::AtFinal: Iso,
[src]
L::AtInitial: Iso,
L::AtFinal: Iso,
fn get(&self, v: Self::InitialSource) -> Self::InitialTarget
impl<L: Iso> Prism for Invert<L> where
L::AtInitial: Iso,
L::AtFinal: Iso,
[src]
L::AtInitial: Iso,
L::AtFinal: Iso,
fn inject(&self, v: Self::FinalTarget) -> Self::FinalSource
impl<L: Iso> Iso for Invert<L> where
L::AtInitial: Iso,
L::AtFinal: Iso,
[src]
L::AtInitial: Iso,
L::AtFinal: Iso,
impl<L: Clone + ?Sized> Clone for Invert<L>
[src]
fn clone(&self) -> Invert<L>
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