Type Alias freya::prelude::SyncSignal
pub type SyncSignal<T> = Signal<T, SyncStorage>;
Expand description
A signal that can safely shared between threads.
Aliased Type§
struct SyncSignal<T> { /* private fields */ }
Implementations
§impl<T, S> Signal<T, S>where
T: 'static,
S: Storage<SignalData<T>>,
impl<T, S> Signal<T, S>where T: 'static, S: Storage<SignalData<T>>,
pub fn new_maybe_sync(value: T) -> Signal<T, S>
pub fn new_maybe_sync(value: T) -> Signal<T, S>
Creates a new Signal. Signals are a Copy state management solution with automatic dependency tracking.
pub fn new_maybe_sync_in_scope(value: T, owner: ScopeId) -> Signal<T, S>
pub fn new_maybe_sync_in_scope(value: T, owner: ScopeId) -> Signal<T, S>
Create a new signal with a custom owner scope. The signal will be dropped when the owner scope is dropped instead of the current scope.
pub fn origin_scope(&self) -> ScopeId
pub fn origin_scope(&self) -> ScopeId
Get the scope the signal was created in.
pub fn map<O>(
self,
f: impl Fn(&T) -> &O + 'static
) -> MappedSignal<<S as AnyStorage>::Ref<O>>
pub fn map<O>( self, f: impl Fn(&T) -> &O + 'static ) -> MappedSignal<<S as AnyStorage>::Ref<O>>
Map the signal to a new type.
pub fn id(&self) -> GenerationalBoxId
pub fn id(&self) -> GenerationalBoxId
Get the generational id of the signal.
Trait Implementations
§impl<T, S> Writable<T> for Signal<T, S>where
T: 'static,
S: Storage<SignalData<T>>,
impl<T, S> Writable<T> for Signal<T, S>where T: 'static, S: Storage<SignalData<T>>,
§fn map_mut<I, U, F>(
ref_: <Signal<T, S> as Writable<T>>::Mut<I>,
f: F
) -> <Signal<T, S> as Writable<T>>::Mut<U>where
U: 'static + ?Sized,
F: FnOnce(&mut I) -> &mut U,
fn map_mut<I, U, F>( ref_: <Signal<T, S> as Writable<T>>::Mut<I>, f: F ) -> <Signal<T, S> as Writable<T>>::Mut<U>where U: 'static + ?Sized, F: FnOnce(&mut I) -> &mut U,
§fn try_map_mut<I, U, F>(
ref_: <Signal<T, S> as Writable<T>>::Mut<I>,
f: F
) -> Option<<Signal<T, S> as Writable<T>>::Mut<U>>where
I: 'static,
U: 'static + ?Sized,
F: FnOnce(&mut I) -> Option<&mut U>,
fn try_map_mut<I, U, F>( ref_: <Signal<T, S> as Writable<T>>::Mut<I>, f: F ) -> Option<<Signal<T, S> as Writable<T>>::Mut<U>>where I: 'static, U: 'static + ?Sized, F: FnOnce(&mut I) -> Option<&mut U>,
§fn try_write(
&self
) -> Result<<Signal<T, S> as Writable<T>>::Mut<T>, BorrowMutError>
fn try_write( &self ) -> Result<<Signal<T, S> as Writable<T>>::Mut<T>, BorrowMutError>
§fn write(&self) -> Self::Mut<T>
fn write(&self) -> Self::Mut<T>
§fn with_mut<O>(&self, f: impl FnOnce(&mut T) -> O) -> O
fn with_mut<O>(&self, f: impl FnOnce(&mut T) -> O) -> O
§fn set(&mut self, value: T)
fn set(&mut self, value: T)
§impl<T, S> Clone for Signal<T, S>where
T: 'static,
S: Storage<SignalData<T>>,
impl<T, S> Clone for Signal<T, S>where T: 'static, S: Storage<SignalData<T>>,
§impl<T, S> AddAssign<T> for Signal<T, S>where
T: Add<Output = T> + Copy + 'static,
S: Storage<SignalData<T>>,
impl<T, S> AddAssign<T> for Signal<T, S>where T: Add<Output = T> + Copy + 'static, S: Storage<SignalData<T>>,
§fn add_assign(&mut self, rhs: T)
fn add_assign(&mut self, rhs: T)
+=
operation. Read more§impl<T, S> DivAssign<T> for Signal<T, S>where
T: Div<Output = T> + Copy + 'static,
S: Storage<SignalData<T>>,
impl<T, S> DivAssign<T> for Signal<T, S>where T: Div<Output = T> + Copy + 'static, S: Storage<SignalData<T>>,
§fn div_assign(&mut self, rhs: T)
fn div_assign(&mut self, rhs: T)
/=
operation. Read more§impl<T, S> Deref for Signal<T, S>where
T: Clone,
S: Storage<SignalData<T>> + 'static,
impl<T, S> Deref for Signal<T, S>where T: Clone, S: Storage<SignalData<T>> + 'static,
Allow calling a signal with signal() syntax
Currently only limited to copy types, though could probably specialize for string/arc/rc
§impl<T, S> MulAssign<T> for Signal<T, S>where
T: Mul<Output = T> + Copy + 'static,
S: Storage<SignalData<T>>,
impl<T, S> MulAssign<T> for Signal<T, S>where T: Mul<Output = T> + Copy + 'static, S: Storage<SignalData<T>>,
§fn mul_assign(&mut self, rhs: T)
fn mul_assign(&mut self, rhs: T)
*=
operation. Read more§impl<T, S> PartialEq for Signal<T, S>where
T: 'static,
S: Storage<SignalData<T>>,
impl<T, S> PartialEq for Signal<T, S>where T: 'static, S: Storage<SignalData<T>>,
§impl<T, S> Div<T> for Signal<T, S>where
T: Div<Output = T> + Copy + 'static,
S: Storage<SignalData<T>>,
impl<T, S> Div<T> for Signal<T, S>where T: Div<Output = T> + Copy + 'static, S: Storage<SignalData<T>>,
§impl<T, S> Readable<T> for Signal<T, S>where
S: Storage<SignalData<T>>,
impl<T, S> Readable<T> for Signal<T, S>where S: Storage<SignalData<T>>,
§fn read(&self) -> <S as AnyStorage>::Ref<T>
fn read(&self) -> <S as AnyStorage>::Ref<T>
Get the current value of the signal. This will subscribe the current scope to the signal. If you would like to read the signal without subscribing to it, you can use Self::peek
instead.
If the signal has been dropped, this will panic.
§fn peek(&self) -> <S as AnyStorage>::Ref<T>
fn peek(&self) -> <S as AnyStorage>::Ref<T>
Get the current value of the signal. Unlike read, this will not subscribe the current scope to the signal which can cause parts of your UI to not update.
If the signal has been dropped, this will panic.
§fn map_ref<I, U, F>(
ref_: <Signal<T, S> as Readable<T>>::Ref<I>,
f: F
) -> <Signal<T, S> as Readable<T>>::Ref<U>where
F: FnOnce(&I) -> &U,
U: ?Sized,
fn map_ref<I, U, F>( ref_: <Signal<T, S> as Readable<T>>::Ref<I>, f: F ) -> <Signal<T, S> as Readable<T>>::Ref<U>where F: FnOnce(&I) -> &U, U: ?Sized,
§fn try_map_ref<I, U, F>(
ref_: <Signal<T, S> as Readable<T>>::Ref<I>,
f: F
) -> Option<<Signal<T, S> as Readable<T>>::Ref<U>>where
F: FnOnce(&I) -> Option<&U>,
U: ?Sized,
fn try_map_ref<I, U, F>( ref_: <Signal<T, S> as Readable<T>>::Ref<I>, f: F ) -> Option<<Signal<T, S> as Readable<T>>::Ref<U>>where F: FnOnce(&I) -> Option<&U>, U: ?Sized,
§fn with<O>(&self, f: impl FnOnce(&T) -> O) -> O
fn with<O>(&self, f: impl FnOnce(&T) -> O) -> O
§impl<T, S> SubAssign<T> for Signal<T, S>where
T: Sub<Output = T> + Copy + 'static,
S: Storage<SignalData<T>>,
impl<T, S> SubAssign<T> for Signal<T, S>where T: Sub<Output = T> + Copy + 'static, S: Storage<SignalData<T>>,
§fn sub_assign(&mut self, rhs: T)
fn sub_assign(&mut self, rhs: T)
-=
operation. Read more