Struct refraction::conv::ConvMut [] [src]

pub struct ConvMut<'a, S: ?Sized + 'a, A: ?Sized + 'a = S, T: ?Sized + 'a = S, B: ?Sized + 'a = T> { /* fields omitted */ }

An isomorphism family that handles lossless conversions by mutable reference.

Methods

impl<'a, S: ?Sized, A: ?Sized, T: ?Sized, B: ?Sized> ConvMut<'a, S, A, T, B> where
    S: AsMut<A> + 'a,
    A: AsMut<S> + 'a,
    T: AsMut<B> + 'a,
    B: AsMut<T> + 'a, 
[src]

Trait Implementations

impl<'a, S: ?Sized, A: ?Sized, T: ?Sized, B: ?Sized> Debug for ConvMut<'a, S, A, T, B> where
    S: AsMut<A> + 'a,
    A: AsMut<S> + 'a,
    T: AsMut<B> + 'a,
    B: AsMut<T> + 'a, 
[src]

Formats the value using the given formatter.

impl<'a, S: ?Sized, A: ?Sized, T: ?Sized, B: ?Sized> Clone for ConvMut<'a, S, A, T, B> where
    S: AsMut<A> + 'a,
    A: AsMut<S> + 'a,
    T: AsMut<B> + 'a,
    B: AsMut<T> + 'a, 
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl<'a, S: ?Sized, A: ?Sized, T: ?Sized, B: ?Sized> Copy for ConvMut<'a, S, A, T, B> where
    S: AsMut<A> + 'a,
    A: AsMut<S> + 'a,
    T: AsMut<B> + 'a,
    B: AsMut<T> + 'a, 
[src]

impl<'a, S: ?Sized, A: ?Sized, T: ?Sized, B: ?Sized> Default for ConvMut<'a, S, A, T, B> where
    S: AsMut<A> + 'a,
    A: AsMut<S> + 'a,
    T: AsMut<B> + 'a,
    B: AsMut<T> + 'a, 
[src]

Returns the "default value" for a type. Read more

impl<'a, S: ?Sized, A: ?Sized, T: ?Sized, B: ?Sized> Lenticuloid for ConvMut<'a, S, A, T, B> where
    S: AsMut<A> + 'a,
    A: AsMut<S> + 'a,
    T: AsMut<B> + 'a,
    B: AsMut<T> + 'a, 
[src]

impl<'a, S: ?Sized, A: ?Sized, T: ?Sized, B: ?Sized> PartialLens for ConvMut<'a, S, A, T, B> where
    S: AsMut<A> + 'a,
    A: AsMut<S> + 'a,
    T: AsMut<B> + 'a,
    B: AsMut<T> + 'a, 
[src]

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

impl<'a, S: ?Sized, A: ?Sized, T: ?Sized, B: ?Sized> Lens for ConvMut<'a, S, A, T, B> where
    S: AsMut<A> + 'a,
    A: AsMut<S> + 'a,
    T: AsMut<B> + 'a,
    B: AsMut<T> + 'a, 
[src]

impl<'a, S: ?Sized, A: ?Sized, T: ?Sized, B: ?Sized> Prism for ConvMut<'a, S, A, T, B> where
    S: AsMut<A> + 'a,
    A: AsMut<S> + 'a,
    T: AsMut<B> + 'a,
    B: AsMut<T> + 'a, 
[src]

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, 
[src]