SignalWith

Trait SignalWith 

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

    // Provided methods
    fn with<O>(&self, f: impl FnOnce(&T) -> O) -> O
       where T: 'static { ... }
    fn with_untracked<O>(&self, f: impl FnOnce(&T) -> O) -> O
       where T: 'static { ... }
    fn try_with<O>(&self, f: impl FnOnce(Option<&T>) -> O) -> O
       where T: 'static { ... }
    fn try_with_untracked<O>(&self, f: impl FnOnce(Option<&T>) -> O) -> O
       where T: 'static { ... }
}

Required Methods§

fn id(&self) -> Id

get the Signal Id

Provided Methods§

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

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

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

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

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§

§

impl<T> SignalWith<T> for Memo<T>
where T: PartialEq + 'static, ReadSignal<T>: SignalWith<T>,

§

impl<T> SignalWith<T> for ReadSignal<T>

§

impl<T> SignalWith<T> for Signal<T>

§

impl<T> SignalWith<T> for SyncReadSignal<T>
where T: Send + Sync,

§

impl<T> SignalWith<T> for SyncSignal<T>
where T: Send + Sync,

§

impl<T, O, GF, UF> SignalWith<O> for SyncDerivedSignal<T, O, GF, UF>
where T: Clone + Send + Sync + 'static, O: Clone + Send + Sync, GF: Fn(&T) -> O + Copy + Send + Sync, UF: Fn(&O) -> T + Copy + Send + Sync,

§

impl<T, O, GF, UF> SignalWith<O> for DerivedSignal<T, O, GF, UF>
where T: Clone + 'static, O: Clone, GF: Fn(&T) -> O + Copy, UF: Fn(&O) -> T + Copy,