pub struct ReadSignal<T: ?Sized, S: BoxedSignalStorage<T> = UnsyncStorage> { /* private fields */ }Expand description
A boxed version of Readable that can be used to store any readable type.
Implementations§
Source§impl<T: ?Sized + 'static> ReadSignal<T>
 
impl<T: ?Sized + 'static> ReadSignal<T>
Sourcepub fn new(
    value: impl Readable<Target = T, Storage = UnsyncStorage> + 'static,
) -> Self
 
pub fn new( value: impl Readable<Target = T, Storage = UnsyncStorage> + 'static, ) -> Self
Create a new boxed readable value.
Source§impl<T: ?Sized + 'static, S: BoxedSignalStorage<T>> ReadSignal<T, S>
 
impl<T: ?Sized + 'static, S: BoxedSignalStorage<T>> ReadSignal<T, S>
Sourcepub fn new_maybe_sync<R>(value: R) -> Selfwhere
    S: CreateBoxedSignalStorage<R>,
    R: Readable<Target = T>,
 
pub fn new_maybe_sync<R>(value: R) -> Selfwhere
    S: CreateBoxedSignalStorage<R>,
    R: Readable<Target = T>,
Create a new boxed readable value which may be sync
Sourcepub fn point_to(&self, other: Self) -> BorrowResult
 
pub fn point_to(&self, other: Self) -> BorrowResult
Point to another ReadSignal. This will subscribe the other ReadSignal to all subscribers of this ReadSignal.
Trait Implementations§
Source§impl<T: ?Sized, S: BoxedSignalStorage<T>> Clone for ReadSignal<T, S>
 
impl<T: ?Sized, S: BoxedSignalStorage<T>> Clone for ReadSignal<T, S>
Source§impl<T: Debug + 'static, S: BoxedSignalStorage<T>> Debug for ReadSignal<T, S>
 
impl<T: Debug + 'static, S: BoxedSignalStorage<T>> Debug for ReadSignal<T, S>
Source§impl<T: Default + 'static, S: CreateBoxedSignalStorage<Signal<T, S>> + BoxedSignalStorage<T> + Storage<SignalData<T>>> Default for ReadSignal<T, S>
 
impl<T: Default + 'static, S: CreateBoxedSignalStorage<Signal<T, S>> + BoxedSignalStorage<T> + Storage<SignalData<T>>> Default for ReadSignal<T, S>
Source§impl<T: Clone + 'static, S: BoxedSignalStorage<T>> Deref for ReadSignal<T, S>
 
impl<T: Clone + 'static, S: BoxedSignalStorage<T>> Deref for ReadSignal<T, S>
Source§impl<T: Display + 'static, S: BoxedSignalStorage<T>> Display for ReadSignal<T, S>
 
impl<T: Display + 'static, S: BoxedSignalStorage<T>> Display for ReadSignal<T, S>
Source§impl<T: 'static, S: CreateBoxedSignalStorage<CopyValue<T, S>> + BoxedSignalStorage<T> + Storage<T>> From<CopyValue<T, S>> for ReadSignal<T, S>
 
impl<T: 'static, S: CreateBoxedSignalStorage<CopyValue<T, S>> + BoxedSignalStorage<T> + Storage<T>> From<CopyValue<T, S>> for ReadSignal<T, S>
Source§impl<T, R> From<Global<T, R>> for ReadSignal<R>where
    T: Readable<Target = R, Storage = UnsyncStorage> + InitializeFromFunction<R> + Clone + 'static,
    R: 'static,
 
impl<T, R> From<Global<T, R>> for ReadSignal<R>where
    T: Readable<Target = R, Storage = UnsyncStorage> + InitializeFromFunction<R> + Clone + 'static,
    R: 'static,
Source§impl<V, O, F, FMut, S> From<MappedMutSignal<O, V, F, FMut>> for ReadSignal<O, S>where
    O: ?Sized + 'static,
    V: Readable<Storage = S> + 'static,
    F: Fn(&V::Target) -> &O + 'static,
    FMut: 'static,
    S: BoxedSignalStorage<O> + CreateBoxedSignalStorage<MappedMutSignal<O, V, F, FMut>>,
 
impl<V, O, F, FMut, S> From<MappedMutSignal<O, V, F, FMut>> for ReadSignal<O, S>where
    O: ?Sized + 'static,
    V: Readable<Storage = S> + 'static,
    F: Fn(&V::Target) -> &O + 'static,
    FMut: 'static,
    S: BoxedSignalStorage<O> + CreateBoxedSignalStorage<MappedMutSignal<O, V, F, FMut>>,
Source§fn from(value: MappedMutSignal<O, V, F, FMut>) -> Self
 
fn from(value: MappedMutSignal<O, V, F, FMut>) -> Self
Converts to this type from the input type.
Source§impl<V, O, F, S> From<MappedSignal<O, V, F>> for ReadSignal<O, S>where
    O: ?Sized + 'static,
    V: Readable<Storage = S> + 'static,
    F: Fn(&V::Target) -> &O + 'static,
    S: BoxedSignalStorage<O> + CreateBoxedSignalStorage<MappedSignal<O, V, F>>,
 
impl<V, O, F, S> From<MappedSignal<O, V, F>> for ReadSignal<O, S>where
    O: ?Sized + 'static,
    V: Readable<Storage = S> + 'static,
    F: Fn(&V::Target) -> &O + 'static,
    S: BoxedSignalStorage<O> + CreateBoxedSignalStorage<MappedSignal<O, V, F>>,
Source§fn from(value: MappedSignal<O, V, F>) -> Self
 
fn from(value: MappedSignal<O, V, F>) -> Self
Converts to this type from the input type.
Source§impl<T: 'static, S: CreateBoxedSignalStorage<Signal<T, S>> + BoxedSignalStorage<T> + Storage<SignalData<T>>> From<Signal<T, S>> for ReadSignal<T, S>
 
impl<T: 'static, S: CreateBoxedSignalStorage<Signal<T, S>> + BoxedSignalStorage<T> + Storage<SignalData<T>>> From<Signal<T, S>> for ReadSignal<T, S>
Source§impl<T: ?Sized + 'static, S> From<WriteSignal<T, S>> for ReadSignal<T, S>
 
impl<T: ?Sized + 'static, S> From<WriteSignal<T, S>> for ReadSignal<T, S>
Source§fn from(value: WriteSignal<T, S>) -> Self
 
fn from(value: WriteSignal<T, S>) -> Self
Converts to this type from the input type.
Source§impl<T, S: BoxedSignalStorage<T>> IntoAttributeValue for ReadSignal<T, S>where
    T: Clone + IntoAttributeValue + 'static,
 
impl<T, S: BoxedSignalStorage<T>> IntoAttributeValue for ReadSignal<T, S>where
    T: Clone + IntoAttributeValue + 'static,
Source§fn into_value(self) -> AttributeValue
 
fn into_value(self) -> AttributeValue
Convert into an attribute value
Source§impl<T, S> IntoDynNode for ReadSignal<T, S>
 
impl<T, S> IntoDynNode for ReadSignal<T, S>
Source§fn into_dyn_node(self) -> DynamicNode
 
fn into_dyn_node(self) -> DynamicNode
Consume this item and produce a DynamicNode
Source§impl<T: PartialEq + 'static, S: BoxedSignalStorage<T>> PartialEq<T> for ReadSignal<T, S>
 
impl<T: PartialEq + 'static, S: BoxedSignalStorage<T>> PartialEq<T> for ReadSignal<T, S>
Source§impl<T: ?Sized, S: BoxedSignalStorage<T>> PartialEq for ReadSignal<T, S>
 
impl<T: ?Sized, S: BoxedSignalStorage<T>> PartialEq for ReadSignal<T, S>
Source§impl<T: ?Sized, S: BoxedSignalStorage<T>> Readable for ReadSignal<T, S>
 
impl<T: ?Sized, S: BoxedSignalStorage<T>> Readable for ReadSignal<T, S>
Source§fn try_read_unchecked(&self) -> Result<ReadableRef<'static, Self>, BorrowError>where
    T: 'static,
 
fn try_read_unchecked(&self) -> Result<ReadableRef<'static, Self>, BorrowError>where
    T: 'static,
Try to get a reference to the value without checking the lifetime. This will subscribe the current scope to the signal. Read more
Source§fn try_peek_unchecked(&self) -> BorrowResult<ReadableRef<'static, Self>>where
    T: 'static,
 
fn try_peek_unchecked(&self) -> BorrowResult<ReadableRef<'static, Self>>where
    T: 'static,
Try to peek the current value of the signal without subscribing to updates. If the value has
been dropped, this will return an error. Read more
Source§fn subscribers(&self) -> Subscriberswhere
    T: 'static,
 
fn subscribers(&self) -> Subscriberswhere
    T: 'static,
Get the underlying subscriber list for this readable. This is used to track when the value changes and notify subscribers.
impl<T: ?Sized, S: BoxedSignalStorage<T>> Copy for ReadSignal<T, S>
Auto Trait Implementations§
impl<T, S> Freeze for ReadSignal<T, S>where
    T: ?Sized,
impl<T, S> RefUnwindSafe for ReadSignal<T, S>where
    S: RefUnwindSafe,
    <S as BoxedSignalStorage<T>>::DynReadable<SealedToken>: RefUnwindSafe,
    T: ?Sized,
impl<T, S> Send for ReadSignal<T, S>
impl<T, S> Sync for ReadSignal<T, S>
impl<T, S> Unpin for ReadSignal<T, S>where
    T: ?Sized,
impl<T, S> UnwindSafe for ReadSignal<T, S>where
    S: RefUnwindSafe,
    <S as BoxedSignalStorage<T>>::DynReadable<SealedToken>: UnwindSafe,
    T: ?Sized,
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
Source§impl<T> CloneToUninit for Twhere
    T: Clone,
 
impl<T> CloneToUninit for Twhere
    T: Clone,
Source§impl<T> InitializeFromFunction<T> for T
 
impl<T> InitializeFromFunction<T> for T
Source§fn initialize_from_function(f: fn() -> T) -> T
 
fn initialize_from_function(f: fn() -> T) -> T
Create an instance of this type from an initialization function
Source§impl<T> Instrument for T
 
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
 
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
 
fn in_current_span(self) -> Instrumented<Self>
Source§impl<R> ReadableBoxExt for R
 
impl<R> ReadableBoxExt for R
Source§impl<R> ReadableExt for R
 
impl<R> ReadableExt for R
Source§fn read(&self) -> ReadableRef<'_, Self>where
    Self::Target: 'static,
 
fn read(&self) -> ReadableRef<'_, Self>where
    Self::Target: 'static,
Get the current value of the state. If this is a signal, this will subscribe the current scope to the signal.
If the value has been dropped, this will panic. Calling this on a Signal is the same as
using the signal() syntax to read and subscribe to its value
Source§fn try_read(&self) -> Result<ReadableRef<'_, Self>, BorrowError>where
    Self::Target: 'static,
 
fn try_read(&self) -> Result<ReadableRef<'_, Self>, BorrowError>where
    Self::Target: 'static,
Try to get the current value of the state. If this is a signal, this will subscribe the current scope to the signal.
Source§fn read_unchecked(&self) -> ReadableRef<'static, Self>where
    Self::Target: 'static,
 
fn read_unchecked(&self) -> ReadableRef<'static, Self>where
    Self::Target: 'static,
Get a reference to the value without checking the lifetime. This will subscribe the current scope to the signal. Read more
Source§fn peek(&self) -> ReadableRef<'_, Self>where
    Self::Target: 'static,
 
fn peek(&self) -> ReadableRef<'_, Self>where
    Self::Target: 'static,
Get the current value of the state without subscribing to updates. If the value has been dropped, this will panic. Read more
Source§fn try_peek(&self) -> Result<ReadableRef<'_, Self>, BorrowError>where
    Self::Target: 'static,
 
fn try_peek(&self) -> Result<ReadableRef<'_, Self>, BorrowError>where
    Self::Target: 'static,
Try to peek the current value of the signal without subscribing to updates. If the value has
been dropped, this will return an error.
Source§fn peek_unchecked(&self) -> ReadableRef<'static, Self>where
    Self::Target: 'static,
 
fn peek_unchecked(&self) -> ReadableRef<'static, Self>where
    Self::Target: 'static,
Get the current value of the signal without checking the lifetime. Unlike read, this will not subscribe the current scope to the signal which can cause parts of your UI to not update. Read more
Source§fn map<F, O>(self, f: F) -> MappedSignal<O, Self, F>
 
fn map<F, O>(self, f: F) -> MappedSignal<O, Self, F>
Map the references of the readable value to a new type. This lets you provide a view
into the readable value without creating a new signal or cloning the value. Read more
Source§fn cloned(&self) -> Self::Target
 
fn cloned(&self) -> Self::Target
Clone the inner value and return it. If the value has been dropped, this will panic.
Source§fn with<O>(&self, f: impl FnOnce(&Self::Target) -> O) -> Owhere
    Self::Target: 'static,
 
fn with<O>(&self, f: impl FnOnce(&Self::Target) -> O) -> Owhere
    Self::Target: 'static,
Run a function with a reference to the value. If the value has been dropped, this will panic.
Source§impl<K, V, H, R> ReadableHashMapExt<K, V, H> for R
 
impl<K, V, H, R> ReadableHashMapExt<K, V, H> for R
Source§impl<V, H, R> ReadableHashSetExt<V, H> for R
 
impl<V, H, R> ReadableHashSetExt<V, H> for R
Source§impl<T, R> ReadableOptionExt<T> for R
 
impl<T, R> ReadableOptionExt<T> for R
Source§impl<T, E, R> ReadableResultExt<T, E> for R
 
impl<T, E, R> ReadableResultExt<T, E> for R
Source§fn unwrap(&self) -> Twhere
    T: Clone + 'static,
    E: 'static,
 
fn unwrap(&self) -> Twhere
    T: Clone + 'static,
    E: 'static,
Unwraps the inner value and clones it.
Source§fn as_ref(&self) -> Result<ReadableRef<'_, Self, T>, ReadableRef<'_, Self, E>>where
    T: 'static,
    E: 'static,
 
fn as_ref(&self) -> Result<ReadableRef<'_, Self, T>, ReadableRef<'_, Self, E>>where
    T: 'static,
    E: 'static,
Attempts to read the inner value of the Option.
Source§impl<W> ReadableStringExt for W
 
impl<W> ReadableStringExt for W
Source§impl<T, R> ReadableVecExt<T> for R
 
impl<T, R> ReadableVecExt<T> for R
Source§fn first(&self) -> Option<ReadableRef<'_, Self, T>>where
    T: 'static,
 
fn first(&self) -> Option<ReadableRef<'_, Self, T>>where
    T: 'static,
Get the first element of the inner vector.
Source§fn last(&self) -> Option<ReadableRef<'_, Self, T>>where
    T: 'static,
 
fn last(&self) -> Option<ReadableRef<'_, Self, T>>where
    T: 'static,
Get the last element of the inner vector.
Source§impl<Ret> SpawnIfAsync<(), Ret> for Ret
 
impl<Ret> SpawnIfAsync<(), Ret> for Ret
Source§impl<T, O> SuperFrom<T> for Owhere
    O: From<T>,
 
impl<T, O> SuperFrom<T> for Owhere
    O: From<T>,
Source§fn super_from(input: T) -> O
 
fn super_from(input: T) -> O
Convert from a type to another type.
Source§impl<T, O, M> SuperInto<O, M> for Twhere
    O: SuperFrom<T, M>,
 
impl<T, O, M> SuperInto<O, M> for Twhere
    O: SuperFrom<T, M>,
Source§fn super_into(self) -> O
 
fn super_into(self) -> O
Convert from a type to another type.