Trait SignalUpdate

Source
pub trait SignalUpdate<T> {
    // Required method
    fn id(&self) -> Id;

    // Provided methods
    fn set(&self, new_value: T)
       where T: 'static { ... }
    fn update(&self, f: impl FnOnce(&mut T))
       where T: 'static { ... }
    fn try_update<O>(&self, f: impl FnOnce(&mut T) -> O) -> Option<O>
       where T: 'static { ... }
}

Required Methods§

Source

fn id(&self) -> Id

get the Signal Id

Provided Methods§

Source

fn set(&self, new_value: T)
where T: 'static,

Sets the new_value to the Signal and triggers effect run

Source

fn update(&self, f: impl FnOnce(&mut T))
where T: 'static,

Update the stored value with the given function and triggers effect run

Source

fn try_update<O>(&self, f: impl FnOnce(&mut T) -> O) -> Option<O>
where T: 'static,

Update the stored value with the given function, triggers effect run, and returns the value returned by the function

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<T> SignalUpdate<T> for BaseSignal<T>

Source§

impl<T> SignalUpdate<T> for RwSignal<T>

Source§

impl<T> SignalUpdate<T> for WriteSignal<T>

Source§

impl<T: 'static, O, GF: Fn(&T) -> O + Copy, UF: Fn(&O) -> T + Copy> SignalUpdate<O> for DerivedRwSignal<T, O, GF, UF>