pub struct Memo<T: PartialEq + 'static> { /* private fields */ }Expand description
A memoized derived value that only recomputes when one of its tracked dependencies changes, and only notifies dependents when its value changes.
Unlike the previous implementation, this is driven by dependency invalidation
rather than an Effect that eagerly recomputes.
Implementations§
Trait Implementations§
Source§impl<T: Clone + PartialEq + 'static> SignalGet<T> for Memo<T>where
ReadSignal<T>: SignalGet<T>,
impl<T: Clone + PartialEq + 'static> SignalGet<T> for Memo<T>where
ReadSignal<T>: SignalGet<T>,
Source§impl<T: PartialEq + 'static> SignalTrack<T> for Memo<T>
impl<T: PartialEq + 'static> SignalTrack<T> for Memo<T>
Source§impl<T: PartialEq + 'static> SignalWith<T> for Memo<T>where
ReadSignal<T>: SignalWith<T>,
impl<T: PartialEq + 'static> SignalWith<T> for Memo<T>where
ReadSignal<T>: SignalWith<T>,
fn with<O>(&self, f: impl FnOnce(&T) -> O) -> Owhere
T: 'static,
fn with_untracked<O>(&self, f: impl FnOnce(&T) -> O) -> Owhere
T: 'static,
fn try_with<O>(&self, f: impl FnOnce(Option<&T>) -> O) -> Owhere
T: 'static,
fn try_with_untracked<O>(&self, f: impl FnOnce(Option<&T>) -> O) -> Owhere
T: 'static,
impl<T: PartialEq + 'static> Copy for Memo<T>
Auto Trait Implementations§
impl<T> Freeze for Memo<T>
impl<T> RefUnwindSafe for Memo<T>where
T: RefUnwindSafe,
impl<T> !Send for Memo<T>
impl<T> !Sync for Memo<T>
impl<T> Unpin for Memo<T>where
T: Unpin,
impl<T> UnwindSafe for Memo<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more