AccessMut

Trait AccessMut 

Source
pub trait AccessMut: Access {
    // Required method
    fn set(&mut self, value: Self::Target);

    // Provided method
    fn map_mut<T, B, F, I>(self, from: F, into: I) -> MapAccessMut<Self, F, I>
       where Self: Sized + Access<Target = T>,
             F: Fn(T) -> B,
             I: Fn(B) -> T { ... }
}

Required Methods§

Source

fn set(&mut self, value: Self::Target)

Provided Methods§

Source

fn map_mut<T, B, F, I>(self, from: F, into: I) -> MapAccessMut<Self, F, I>
where Self: Sized + Access<Target = T>, F: Fn(T) -> B, I: Fn(B) -> T,

Examples found in repository?
examples/example.rs (line 5)
3fn main() {
4    let mut int = 0;
5    let mut string_access = (&mut int).map_mut(|i| i.to_string(), |s| s.parse().unwrap());
6
7    println!("string: {}", string_access.get());
8    string_access.set("42".to_string());
9    println!("string: {}", string_access.get());
10    println!("int: {}", int);
11}

Implementations on Foreign Types§

Source§

impl<'a, T: Copy> AccessMut for &'a mut T

Source§

fn set(&mut self, value: T)

Implementors§

Source§

impl<T, B, A, F, I> AccessMut for MapAccessMut<A, F, I>
where A: AccessMut<Target = T>, F: Fn(T) -> B, I: Fn(B) -> T,