Struct ArcRwSignal
pub struct ArcRwSignal<T> {
pub(crate) value: Arc<RwLock<T>>,
pub(crate) inner: Arc<RwLock<SubscriberSet>>,
}Expand description
A reference-counted signal that can be read from or written to.
A signal is a piece of data that may change over time, and notifies other code when it has changed. This is the atomic unit of reactivity, which begins all other processes of reactive updates.
This is a reference-counted signal, which is Clone but not Copy.
For arena-allocated Copy signals, use RwSignal.
§Core Trait Implementations
§Reading the Value
.get()clones the current value of the signal. If you call it within an effect, it will cause that effect to subscribe to the signal, and to re-run whenever the value of the signal changes..get_untracked()clones the value of the signal without reactively tracking it.
.read()returns a guard that allows accessing the value of the signal by reference. If you call it within an effect, it will cause that effect to subscribe to the signal, and to re-run whenever the value of the signal changes..read_untracked()gives access to the current value of the signal without reactively tracking it.
.with()allows you to reactively access the signal’s value without cloning by applying a callback function..with_untracked()allows you to access the signal’s value by applying a callback function without reactively tracking it.
.to_stream()converts the signal to anasyncstream of values.
§Updating the Value
.set()sets the signal to a new value..update()updates the value of the signal by applying a closure that takes a mutable reference..write()returns a guard through which the signal can be mutated, and which notifies subscribers when it is dropped.
Each of these has a related
_untracked()method, which updates the signal without notifying subscribers. Untracked updates are not desirable in most cases, as they cause “tearing” between the signal’s value and its observed value. If you want a non-reactive container, usedArenaIteminstead.
§Examples
let count = ArcRwSignal::new(0);
// ✅ calling the getter clones and returns the value
// this can be `count()` on nightly
assert_eq!(count.get(), 0);
// ✅ calling the setter sets the value
// this can be `set_count(1)` on nightly
count.set(1);
assert_eq!(count.get(), 1);
// ❌ you could call the getter within the setter
// set_count.set(count.get() + 1);
// ✅ however it's more efficient to use .update() and mutate the value in place
count.update(|count: &mut i32| *count += 1);
assert_eq!(count.get(), 2);
// ✅ you can create "derived signals" with a Fn() -> T interface
let double_count = {
// clone before moving into the closure because we use it below
let count = count.clone();
move || count.get() * 2
};
count.set(0);
assert_eq!(double_count(), 0);
count.set(1);
assert_eq!(double_count(), 2);Fields§
§value: Arc<RwLock<T>>§inner: Arc<RwLock<SubscriberSet>>Implementations§
§impl<T> ArcRwSignal<T>
impl<T> ArcRwSignal<T>
pub fn new(value: T) -> ArcRwSignal<T>
pub fn new(value: T) -> ArcRwSignal<T>
Creates a new signal, taking the initial value as its argument.
pub fn read_only(&self) -> ArcReadSignal<T>
pub fn read_only(&self) -> ArcReadSignal<T>
Returns a read-only handle to the signal.
pub fn write_only(&self) -> ArcWriteSignal<T>
pub fn write_only(&self) -> ArcWriteSignal<T>
Returns a write-only handle to the signal.
pub fn split(&self) -> (ArcReadSignal<T>, ArcWriteSignal<T>)
pub fn split(&self) -> (ArcReadSignal<T>, ArcWriteSignal<T>)
Splits the signal into its readable and writable halves.
pub fn unite(
read: ArcReadSignal<T>,
write: ArcWriteSignal<T>,
) -> Option<ArcRwSignal<T>>
pub fn unite( read: ArcReadSignal<T>, write: ArcWriteSignal<T>, ) -> Option<ArcRwSignal<T>>
Reunites the two halves of a signal. Returns None if the two signals
provided were not created from the same signal.
Trait Implementations§
§impl<V> AddAnyAttr for ArcRwSignal<V>where
V: RenderHtml + Clone + Send + Sync + 'static,
<V as Render>::State: 'static,
ArcRwSignal<V>: Get<Value = V>,
impl<V> AddAnyAttr for ArcRwSignal<V>where
V: RenderHtml + Clone + Send + Sync + 'static,
<V as Render>::State: 'static,
ArcRwSignal<V>: Get<Value = V>,
§type Output<SomeNewAttr: Attribute> = ArcRwSignal<V>
type Output<SomeNewAttr: Attribute> = ArcRwSignal<V>
§fn add_any_attr<NewAttr>(
self,
_attr: NewAttr,
) -> <ArcRwSignal<V> as AddAnyAttr>::Output<NewAttr>where
NewAttr: Attribute,
fn add_any_attr<NewAttr>(
self,
_attr: NewAttr,
) -> <ArcRwSignal<V> as AddAnyAttr>::Output<NewAttr>where
NewAttr: Attribute,
§impl<V> AttributeValue for ArcRwSignal<V>where
V: AttributeValue + Send + Sync + Clone + 'static,
<V as AttributeValue>::State: 'static,
ArcRwSignal<V>: Get<Value = V>,
impl<V> AttributeValue for ArcRwSignal<V>where
V: AttributeValue + Send + Sync + Clone + 'static,
<V as AttributeValue>::State: 'static,
ArcRwSignal<V>: Get<Value = V>,
§type AsyncOutput = ArcRwSignal<V>
type AsyncOutput = ArcRwSignal<V>
§type State = RenderEffect<<V as AttributeValue>::State>
type State = RenderEffect<<V as AttributeValue>::State>
§type Cloneable = ArcRwSignal<V>
type Cloneable = ArcRwSignal<V>
FnMut() continues mutating the same
closure), but making a String cloneable does not necessarily need to make it an
Arc<str>, as two different clones of a String will still have the same value.§type CloneableOwned = ArcRwSignal<V>
type CloneableOwned = ArcRwSignal<V>
'static. This is used for spreading across types when the
spreadable attribute needs to be owned. In some cases (&'a str to Arc<str>, etc.) the owned
cloneable type has worse performance than the cloneable type, so they are separate.§fn to_template(_key: &str, _buf: &mut String)
fn to_template(_key: &str, _buf: &mut String)
<template>.§fn hydrate<const FROM_SERVER: bool>(
self,
key: &str,
el: &Element,
) -> <ArcRwSignal<V> as AttributeValue>::State
fn hydrate<const FROM_SERVER: bool>( self, key: &str, el: &Element, ) -> <ArcRwSignal<V> as AttributeValue>::State
<template>.§fn build(
self,
el: &Element,
key: &str,
) -> <ArcRwSignal<V> as AttributeValue>::State
fn build( self, el: &Element, key: &str, ) -> <ArcRwSignal<V> as AttributeValue>::State
§fn rebuild(
self,
key: &str,
state: &mut <ArcRwSignal<V> as AttributeValue>::State,
)
fn rebuild( self, key: &str, state: &mut <ArcRwSignal<V> as AttributeValue>::State, )
§fn into_cloneable(self) -> <ArcRwSignal<V> as AttributeValue>::Cloneable
fn into_cloneable(self) -> <ArcRwSignal<V> as AttributeValue>::Cloneable
§fn into_cloneable_owned(
self,
) -> <ArcRwSignal<V> as AttributeValue>::CloneableOwned
fn into_cloneable_owned( self, ) -> <ArcRwSignal<V> as AttributeValue>::CloneableOwned
'static.§fn dry_resolve(&mut self)
fn dry_resolve(&mut self)
§async fn resolve(self) -> <ArcRwSignal<V> as AttributeValue>::AsyncOutput
async fn resolve(self) -> <ArcRwSignal<V> as AttributeValue>::AsyncOutput
§impl<T> Clone for ArcRwSignal<T>
impl<T> Clone for ArcRwSignal<T>
§fn clone(&self) -> ArcRwSignal<T>
fn clone(&self) -> ArcRwSignal<T>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl<T> Debug for ArcRwSignal<T>
impl<T> Debug for ArcRwSignal<T>
§impl<T> Default for ArcRwSignal<T>where
T: Default,
impl<T> Default for ArcRwSignal<T>where
T: Default,
§fn default() -> ArcRwSignal<T>
fn default() -> ArcRwSignal<T>
§impl<T> DefinedAt for ArcRwSignal<T>
impl<T> DefinedAt for ArcRwSignal<T>
§fn defined_at(&self) -> Option<&'static Location<'static>>
fn defined_at(&self) -> Option<&'static Location<'static>>
None in
release mode.§impl<'de, T> Deserialize<'de> for ArcRwSignal<T>where
T: Deserialize<'de>,
impl<'de, T> Deserialize<'de> for ArcRwSignal<T>where
T: Deserialize<'de>,
§fn deserialize<D>(
deserializer: D,
) -> Result<ArcRwSignal<T>, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D,
) -> Result<ArcRwSignal<T>, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
§impl<'a, T> From<&'a ArcRwSignal<T>> for RwSignal<T>
impl<'a, T> From<&'a ArcRwSignal<T>> for RwSignal<T>
§fn from(value: &'a ArcRwSignal<T>) -> RwSignal<T>
fn from(value: &'a ArcRwSignal<T>) -> RwSignal<T>
§impl<T> From<ArcRwSignal<T>> for ArcMemo<T>
impl<T> From<ArcRwSignal<T>> for ArcMemo<T>
§fn from(value: ArcRwSignal<T>) -> ArcMemo<T>
fn from(value: ArcRwSignal<T>) -> ArcMemo<T>
§impl<T> From<ArcRwSignal<T>> for ArcSignal<T>
impl<T> From<ArcRwSignal<T>> for ArcSignal<T>
§fn from(value: ArcRwSignal<T>) -> ArcSignal<T>
fn from(value: ArcRwSignal<T>) -> ArcSignal<T>
§impl<T> From<ArcRwSignal<T>> for MaybeSignal<T>
impl<T> From<ArcRwSignal<T>> for MaybeSignal<T>
§fn from(value: ArcRwSignal<T>) -> MaybeSignal<T>
fn from(value: ArcRwSignal<T>) -> MaybeSignal<T>
§impl<T> From<ArcRwSignal<T>> for RwSignal<T>
impl<T> From<ArcRwSignal<T>> for RwSignal<T>
§fn from(value: ArcRwSignal<T>) -> RwSignal<T>
fn from(value: ArcRwSignal<T>) -> RwSignal<T>
§impl<T> From<ArcRwSignal<T>> for Signal<T>
impl<T> From<ArcRwSignal<T>> for Signal<T>
§fn from(value: ArcRwSignal<T>) -> Signal<T>
fn from(value: ArcRwSignal<T>) -> Signal<T>
§impl<T> From<ArcRwSignal<T>> for Signal<T, LocalStorage>
impl<T> From<ArcRwSignal<T>> for Signal<T, LocalStorage>
§fn from(value: ArcRwSignal<T>) -> Signal<T, LocalStorage>
fn from(value: ArcRwSignal<T>) -> Signal<T, LocalStorage>
§impl<V> From<ArcRwSignal<V>> for TextProp
impl<V> From<ArcRwSignal<V>> for TextProp
§fn from(s: ArcRwSignal<V>) -> TextProp
fn from(s: ArcRwSignal<V>) -> TextProp
§impl<T, S> From<RwSignal<T, S>> for ArcRwSignal<T>where
T: 'static,
S: Storage<ArcRwSignal<T>>,
impl<T, S> From<RwSignal<T, S>> for ArcRwSignal<T>where
T: 'static,
S: Storage<ArcRwSignal<T>>,
§fn from(value: RwSignal<T, S>) -> ArcRwSignal<T>
fn from(value: RwSignal<T, S>) -> ArcRwSignal<T>
§impl<T> FromLocal<ArcRwSignal<T>> for MaybeSignal<T, LocalStorage>where
T: 'static,
impl<T> FromLocal<ArcRwSignal<T>> for MaybeSignal<T, LocalStorage>where
T: 'static,
§fn from_local(value: ArcRwSignal<T>) -> MaybeSignal<T, LocalStorage>
fn from_local(value: ArcRwSignal<T>) -> MaybeSignal<T, LocalStorage>
§impl<T> FromLocal<ArcRwSignal<T>> for RwSignal<T, LocalStorage>where
T: 'static,
impl<T> FromLocal<ArcRwSignal<T>> for RwSignal<T, LocalStorage>where
T: 'static,
§fn from_local(value: ArcRwSignal<T>) -> RwSignal<T, LocalStorage>
fn from_local(value: ArcRwSignal<T>) -> RwSignal<T, LocalStorage>
§impl<T> Hash for ArcRwSignal<T>
impl<T> Hash for ArcRwSignal<T>
§impl<V> InnerHtmlValue for ArcRwSignal<V>where
V: InnerHtmlValue + Clone + Send + Sync + 'static,
<V as InnerHtmlValue>::State: 'static,
ArcRwSignal<V>: Get<Value = V>,
impl<V> InnerHtmlValue for ArcRwSignal<V>where
V: InnerHtmlValue + Clone + Send + Sync + 'static,
<V as InnerHtmlValue>::State: 'static,
ArcRwSignal<V>: Get<Value = V>,
§type AsyncOutput = ArcRwSignal<V>
type AsyncOutput = ArcRwSignal<V>
§type State = RenderEffect<<V as InnerHtmlValue>::State>
type State = RenderEffect<<V as InnerHtmlValue>::State>
§type Cloneable = ArcRwSignal<V>
type Cloneable = ArcRwSignal<V>
§type CloneableOwned = ArcRwSignal<V>
type CloneableOwned = ArcRwSignal<V>
'static.§fn to_template(_buf: &mut String)
fn to_template(_buf: &mut String)
<template>.§fn hydrate<const FROM_SERVER: bool>(
self,
el: &Element,
) -> <ArcRwSignal<V> as InnerHtmlValue>::State
fn hydrate<const FROM_SERVER: bool>( self, el: &Element, ) -> <ArcRwSignal<V> as InnerHtmlValue>::State
<template>.§fn build(self, el: &Element) -> <ArcRwSignal<V> as InnerHtmlValue>::State
fn build(self, el: &Element) -> <ArcRwSignal<V> as InnerHtmlValue>::State
§fn rebuild(self, state: &mut <ArcRwSignal<V> as InnerHtmlValue>::State)
fn rebuild(self, state: &mut <ArcRwSignal<V> as InnerHtmlValue>::State)
§fn into_cloneable(self) -> <ArcRwSignal<V> as InnerHtmlValue>::Cloneable
fn into_cloneable(self) -> <ArcRwSignal<V> as InnerHtmlValue>::Cloneable
§fn into_cloneable_owned(
self,
) -> <ArcRwSignal<V> as InnerHtmlValue>::CloneableOwned
fn into_cloneable_owned( self, ) -> <ArcRwSignal<V> as InnerHtmlValue>::CloneableOwned
§fn dry_resolve(&mut self)
fn dry_resolve(&mut self)
§async fn resolve(self) -> <ArcRwSignal<V> as InnerHtmlValue>::AsyncOutput
async fn resolve(self) -> <ArcRwSignal<V> as InnerHtmlValue>::AsyncOutput
§impl<V> IntoClass for ArcRwSignal<V>where
V: IntoClass + Clone + Send + Sync + 'static,
<V as IntoClass>::State: 'static,
ArcRwSignal<V>: Get<Value = V>,
impl<V> IntoClass for ArcRwSignal<V>where
V: IntoClass + Clone + Send + Sync + 'static,
<V as IntoClass>::State: 'static,
ArcRwSignal<V>: Get<Value = V>,
§type AsyncOutput = ArcRwSignal<V>
type AsyncOutput = ArcRwSignal<V>
§type State = RenderEffect<<V as IntoClass>::State>
type State = RenderEffect<<V as IntoClass>::State>
§type Cloneable = ArcRwSignal<V>
type Cloneable = ArcRwSignal<V>
§type CloneableOwned = ArcRwSignal<V>
type CloneableOwned = ArcRwSignal<V>
'static.§fn hydrate<const FROM_SERVER: bool>(
self,
el: &Element,
) -> <ArcRwSignal<V> as IntoClass>::State
fn hydrate<const FROM_SERVER: bool>( self, el: &Element, ) -> <ArcRwSignal<V> as IntoClass>::State
<template>.§fn build(self, el: &Element) -> <ArcRwSignal<V> as IntoClass>::State
fn build(self, el: &Element) -> <ArcRwSignal<V> as IntoClass>::State
§fn rebuild(self, state: &mut <ArcRwSignal<V> as IntoClass>::State)
fn rebuild(self, state: &mut <ArcRwSignal<V> as IntoClass>::State)
§fn into_cloneable(self) -> <ArcRwSignal<V> as IntoClass>::Cloneable
fn into_cloneable(self) -> <ArcRwSignal<V> as IntoClass>::Cloneable
§fn into_cloneable_owned(self) -> <ArcRwSignal<V> as IntoClass>::CloneableOwned
fn into_cloneable_owned(self) -> <ArcRwSignal<V> as IntoClass>::CloneableOwned
§fn dry_resolve(&mut self)
fn dry_resolve(&mut self)
§async fn resolve(self) -> <ArcRwSignal<V> as IntoClass>::AsyncOutput
async fn resolve(self) -> <ArcRwSignal<V> as IntoClass>::AsyncOutput
§fn reset(state: &mut <ArcRwSignal<V> as IntoClass>::State)
fn reset(state: &mut <ArcRwSignal<V> as IntoClass>::State)
§const MIN_LENGTH: usize = _
const MIN_LENGTH: usize = _
§fn should_overwrite(&self) -> bool
fn should_overwrite(&self) -> bool
true for class="..." attributes, false for class:name=value directives.§fn to_template(class: &mut String)
fn to_template(class: &mut String)
<template>.§impl<T> IntoInner for ArcRwSignal<T>
impl<T> IntoInner for ArcRwSignal<T>
§fn into_inner(self) -> Option<<ArcRwSignal<T> as IntoInner>::Value>
fn into_inner(self) -> Option<<ArcRwSignal<T> as IntoInner>::Value>
None and drops this reference. Read more§impl<V> IntoProperty for ArcRwSignal<V>where
V: IntoProperty + Clone + Send + Sync + 'static,
<V as IntoProperty>::State: 'static,
ArcRwSignal<V>: Get<Value = V>,
impl<V> IntoProperty for ArcRwSignal<V>where
V: IntoProperty + Clone + Send + Sync + 'static,
<V as IntoProperty>::State: 'static,
ArcRwSignal<V>: Get<Value = V>,
§type State = RenderEffect<<V as IntoProperty>::State>
type State = RenderEffect<<V as IntoProperty>::State>
§type Cloneable = ArcRwSignal<V>
type Cloneable = ArcRwSignal<V>
§type CloneableOwned = ArcRwSignal<V>
type CloneableOwned = ArcRwSignal<V>
'static.§fn hydrate<const FROM_SERVER: bool>(
self,
el: &Element,
key: &str,
) -> <ArcRwSignal<V> as IntoProperty>::State
fn hydrate<const FROM_SERVER: bool>( self, el: &Element, key: &str, ) -> <ArcRwSignal<V> as IntoProperty>::State
§fn build(
self,
el: &Element,
key: &str,
) -> <ArcRwSignal<V> as IntoProperty>::State
fn build( self, el: &Element, key: &str, ) -> <ArcRwSignal<V> as IntoProperty>::State
§fn rebuild(self, state: &mut <ArcRwSignal<V> as IntoProperty>::State, key: &str)
fn rebuild(self, state: &mut <ArcRwSignal<V> as IntoProperty>::State, key: &str)
§fn into_cloneable(self) -> <ArcRwSignal<V> as IntoProperty>::Cloneable
fn into_cloneable(self) -> <ArcRwSignal<V> as IntoProperty>::Cloneable
§fn into_cloneable_owned(
self,
) -> <ArcRwSignal<V> as IntoProperty>::CloneableOwned
fn into_cloneable_owned( self, ) -> <ArcRwSignal<V> as IntoProperty>::CloneableOwned
§impl<V> IntoStyle for ArcRwSignal<V>where
V: IntoStyle + Clone + Send + Sync + 'static,
<V as IntoStyle>::State: 'static,
ArcRwSignal<V>: Get<Value = V>,
impl<V> IntoStyle for ArcRwSignal<V>where
V: IntoStyle + Clone + Send + Sync + 'static,
<V as IntoStyle>::State: 'static,
ArcRwSignal<V>: Get<Value = V>,
§type AsyncOutput = ArcRwSignal<V>
type AsyncOutput = ArcRwSignal<V>
§type State = RenderEffect<<V as IntoStyle>::State>
type State = RenderEffect<<V as IntoStyle>::State>
§type Cloneable = ArcRwSignal<V>
type Cloneable = ArcRwSignal<V>
§type CloneableOwned = ArcRwSignal<V>
type CloneableOwned = ArcRwSignal<V>
'static.§fn hydrate<const FROM_SERVER: bool>(
self,
el: &Element,
) -> <ArcRwSignal<V> as IntoStyle>::State
fn hydrate<const FROM_SERVER: bool>( self, el: &Element, ) -> <ArcRwSignal<V> as IntoStyle>::State
<template>.§fn build(self, el: &Element) -> <ArcRwSignal<V> as IntoStyle>::State
fn build(self, el: &Element) -> <ArcRwSignal<V> as IntoStyle>::State
§fn rebuild(self, state: &mut <ArcRwSignal<V> as IntoStyle>::State)
fn rebuild(self, state: &mut <ArcRwSignal<V> as IntoStyle>::State)
§fn into_cloneable(self) -> <ArcRwSignal<V> as IntoStyle>::Cloneable
fn into_cloneable(self) -> <ArcRwSignal<V> as IntoStyle>::Cloneable
§fn into_cloneable_owned(self) -> <ArcRwSignal<V> as IntoStyle>::CloneableOwned
fn into_cloneable_owned(self) -> <ArcRwSignal<V> as IntoStyle>::CloneableOwned
§fn dry_resolve(&mut self)
fn dry_resolve(&mut self)
§async fn resolve(self) -> <ArcRwSignal<V> as IntoStyle>::AsyncOutput
async fn resolve(self) -> <ArcRwSignal<V> as IntoStyle>::AsyncOutput
§fn reset(state: &mut <ArcRwSignal<V> as IntoStyle>::State)
fn reset(state: &mut <ArcRwSignal<V> as IntoStyle>::State)
§impl<V> IntoStyleValue for ArcRwSignal<V>
impl<V> IntoStyleValue for ArcRwSignal<V>
§type AsyncOutput = ArcRwSignal<V>
type AsyncOutput = ArcRwSignal<V>
§type State = (Arc<str>, RenderEffect<<V as IntoStyleValue>::State>)
type State = (Arc<str>, RenderEffect<<V as IntoStyleValue>::State>)
§type Cloneable = ArcRwSignal<V>
type Cloneable = ArcRwSignal<V>
§type CloneableOwned = ArcRwSignal<V>
type CloneableOwned = ArcRwSignal<V>
'static.§fn build(
self,
style: &CssStyleDeclaration,
name: &str,
) -> <ArcRwSignal<V> as IntoStyleValue>::State
fn build( self, style: &CssStyleDeclaration, name: &str, ) -> <ArcRwSignal<V> as IntoStyleValue>::State
§fn rebuild(
self,
style: &CssStyleDeclaration,
name: &str,
state: &mut <ArcRwSignal<V> as IntoStyleValue>::State,
)
fn rebuild( self, style: &CssStyleDeclaration, name: &str, state: &mut <ArcRwSignal<V> as IntoStyleValue>::State, )
§fn hydrate(
self,
style: &CssStyleDeclaration,
name: &str,
) -> <ArcRwSignal<V> as IntoStyleValue>::State
fn hydrate( self, style: &CssStyleDeclaration, name: &str, ) -> <ArcRwSignal<V> as IntoStyleValue>::State
<template>.§fn into_cloneable(self) -> <ArcRwSignal<V> as IntoStyleValue>::Cloneable
fn into_cloneable(self) -> <ArcRwSignal<V> as IntoStyleValue>::Cloneable
§fn into_cloneable_owned(
self,
) -> <ArcRwSignal<V> as IntoStyleValue>::CloneableOwned
fn into_cloneable_owned( self, ) -> <ArcRwSignal<V> as IntoStyleValue>::CloneableOwned
§fn dry_resolve(&mut self)
fn dry_resolve(&mut self)
§async fn resolve(self) -> <ArcRwSignal<V> as IntoStyleValue>::AsyncOutput
async fn resolve(self) -> <ArcRwSignal<V> as IntoStyleValue>::AsyncOutput
§impl<T> IsDisposed for ArcRwSignal<T>
impl<T> IsDisposed for ArcRwSignal<T>
§fn is_disposed(&self) -> bool
fn is_disposed(&self) -> bool
true, the signal cannot be accessed without a panic.§impl<T> Notify for ArcRwSignal<T>
impl<T> Notify for ArcRwSignal<T>
§impl<T> PartialEq for ArcRwSignal<T>
impl<T> PartialEq for ArcRwSignal<T>
§impl<T> ReadUntracked for ArcRwSignal<T>where
T: 'static,
impl<T> ReadUntracked for ArcRwSignal<T>where
T: 'static,
§type Value = ReadGuard<T, Plain<T>>
type Value = ReadGuard<T, Plain<T>>
§fn try_read_untracked(&self) -> Option<<ArcRwSignal<T> as ReadUntracked>::Value>
fn try_read_untracked(&self) -> Option<<ArcRwSignal<T> as ReadUntracked>::Value>
None if the signal has already been disposed.§fn read_untracked(&self) -> Self::Value
fn read_untracked(&self) -> Self::Value
§fn custom_try_read(&self) -> Option<Option<Self::Value>>
fn custom_try_read(&self) -> Option<Option<Self::Value>>
Read::try_read implementation despite it being auto implemented. Read more§impl<V> Render for ArcRwSignal<V>
impl<V> Render for ArcRwSignal<V>
§type State = RenderEffectState<<V as Render>::State>
type State = RenderEffectState<<V as Render>::State>
§fn build(self) -> <ArcRwSignal<V> as Render>::State
fn build(self) -> <ArcRwSignal<V> as Render>::State
§fn rebuild(self, state: &mut <ArcRwSignal<V> as Render>::State)
fn rebuild(self, state: &mut <ArcRwSignal<V> as Render>::State)
§impl<V> RenderHtml for ArcRwSignal<V>where
V: RenderHtml + Clone + Send + Sync + 'static,
<V as Render>::State: 'static,
ArcRwSignal<V>: Get<Value = V>,
impl<V> RenderHtml for ArcRwSignal<V>where
V: RenderHtml + Clone + Send + Sync + 'static,
<V as Render>::State: 'static,
ArcRwSignal<V>: Get<Value = V>,
§const MIN_LENGTH: usize = 0
const MIN_LENGTH: usize = 0
§type AsyncOutput = ArcRwSignal<V>
type AsyncOutput = ArcRwSignal<V>
§type Owned = ArcRwSignal<V>
type Owned = ArcRwSignal<V>
'static.§fn dry_resolve(&mut self)
fn dry_resolve(&mut self)
§async fn resolve(self) -> <ArcRwSignal<V> as RenderHtml>::AsyncOutput
async fn resolve(self) -> <ArcRwSignal<V> as RenderHtml>::AsyncOutput
§fn to_html_with_buf(
self,
buf: &mut String,
position: &mut Position,
escape: bool,
mark_branches: bool,
extra_attrs: Vec<AnyAttribute>,
)
fn to_html_with_buf( self, buf: &mut String, position: &mut Position, escape: bool, mark_branches: bool, extra_attrs: Vec<AnyAttribute>, )
§fn to_html_async_with_buf<const OUT_OF_ORDER: bool>(
self,
buf: &mut StreamBuilder,
position: &mut Position,
escape: bool,
mark_branches: bool,
extra_attrs: Vec<AnyAttribute>,
)where
ArcRwSignal<V>: Sized,
fn to_html_async_with_buf<const OUT_OF_ORDER: bool>(
self,
buf: &mut StreamBuilder,
position: &mut Position,
escape: bool,
mark_branches: bool,
extra_attrs: Vec<AnyAttribute>,
)where
ArcRwSignal<V>: Sized,
§fn hydrate<const FROM_SERVER: bool>(
self,
cursor: &Cursor,
position: &PositionState,
) -> <ArcRwSignal<V> as Render>::State
fn hydrate<const FROM_SERVER: bool>( self, cursor: &Cursor, position: &PositionState, ) -> <ArcRwSignal<V> as Render>::State
§fn into_owned(self) -> <ArcRwSignal<V> as RenderHtml>::Owned
fn into_owned(self) -> <ArcRwSignal<V> as RenderHtml>::Owned
'static.§const EXISTS: bool = true
const EXISTS: bool = true
§fn to_html_branching(self) -> Stringwhere
Self: Sized,
fn to_html_branching(self) -> Stringwhere
Self: Sized,
§fn to_html_stream_in_order(self) -> StreamBuilderwhere
Self: Sized,
fn to_html_stream_in_order(self) -> StreamBuilderwhere
Self: Sized,
§fn to_html_stream_in_order_branching(self) -> StreamBuilderwhere
Self: Sized,
fn to_html_stream_in_order_branching(self) -> StreamBuilderwhere
Self: Sized,
§fn to_html_stream_out_of_order(self) -> StreamBuilderwhere
Self: Sized,
fn to_html_stream_out_of_order(self) -> StreamBuilderwhere
Self: Sized,
§fn to_html_stream_out_of_order_branching(self) -> StreamBuilderwhere
Self: Sized,
fn to_html_stream_out_of_order_branching(self) -> StreamBuilderwhere
Self: Sized,
§fn hydrate_async(
self,
cursor: &Cursor,
position: &PositionState,
) -> impl Future<Output = Self::State>
fn hydrate_async( self, cursor: &Cursor, position: &PositionState, ) -> impl Future<Output = Self::State>
§fn hydrate_from<const FROM_SERVER: bool>(self, el: &Element) -> Self::Statewhere
Self: Sized,
fn hydrate_from<const FROM_SERVER: bool>(self, el: &Element) -> Self::Statewhere
Self: Sized,
RenderHtml::hydrate, beginning at the given element.§fn hydrate_from_position<const FROM_SERVER: bool>(
self,
el: &Element,
position: Position,
) -> Self::Statewhere
Self: Sized,
fn hydrate_from_position<const FROM_SERVER: bool>(
self,
el: &Element,
position: Position,
) -> Self::Statewhere
Self: Sized,
RenderHtml::hydrate, beginning at the given element and position.§impl<T> Serialize for ArcRwSignal<T>where
T: Serialize + 'static,
impl<T> Serialize for ArcRwSignal<T>where
T: Serialize + 'static,
§fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
§impl<T> Write for ArcRwSignal<T>where
T: 'static,
impl<T> Write for ArcRwSignal<T>where
T: 'static,
§fn try_write(&self) -> Option<impl UntrackableGuard>
fn try_write(&self) -> Option<impl UntrackableGuard>
None if the signal has already been disposed.§fn try_write_untracked(
&self,
) -> Option<UntrackedWriteGuard<<ArcRwSignal<T> as Write>::Value>>
fn try_write_untracked( &self, ) -> Option<UntrackedWriteGuard<<ArcRwSignal<T> as Write>::Value>>
None if the signal has already been disposed.§fn write(&self) -> impl UntrackableGuard
fn write(&self) -> impl UntrackableGuard
§fn write_untracked(&self) -> impl DerefMut
fn write_untracked(&self) -> impl DerefMut
impl<T> Eq for ArcRwSignal<T>
Auto Trait Implementations§
impl<T> Freeze for ArcRwSignal<T>
impl<T> RefUnwindSafe for ArcRwSignal<T>
impl<T> Send for ArcRwSignal<T>
impl<T> Sync for ArcRwSignal<T>
impl<T> Unpin for ArcRwSignal<T>
impl<T> UnsafeUnpin for ArcRwSignal<T>
impl<T> UnwindSafe for ArcRwSignal<T>
Blanket Implementations§
Source§impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
Source§fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
Source§fn adapt_into(self) -> D
fn adapt_into(self) -> D
Source§impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
Source§fn arrays_from(colors: C) -> T
fn arrays_from(colors: C) -> T
Source§impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
Source§fn arrays_into(self) -> C
fn arrays_into(self) -> C
§impl<V, Key, Sig, T> BindAttribute<Key, Sig, T> for Vwhere
V: AddAnyAttr,
Key: AttributeKey,
Sig: IntoSplitSignal<Value = T>,
T: FromEventTarget + AttributeValue + PartialEq + Sync + 'static,
Signal<BoolOrT<T>>: IntoProperty,
<Sig as IntoSplitSignal>::Read: Get<Value = T> + Send + Sync + Clone + 'static,
<Sig as IntoSplitSignal>::Write: Send + Clone + 'static,
Element: GetValue<T>,
impl<V, Key, Sig, T> BindAttribute<Key, Sig, T> for Vwhere
V: AddAnyAttr,
Key: AttributeKey,
Sig: IntoSplitSignal<Value = T>,
T: FromEventTarget + AttributeValue + PartialEq + Sync + 'static,
Signal<BoolOrT<T>>: IntoProperty,
<Sig as IntoSplitSignal>::Read: Get<Value = T> + Send + Sync + Clone + 'static,
<Sig as IntoSplitSignal>::Write: Send + Clone + 'static,
Element: GetValue<T>,
§type Output = <V as AddAnyAttr>::Output<Bind<Key, T, <Sig as IntoSplitSignal>::Read, <Sig as IntoSplitSignal>::Write>>
type Output = <V as AddAnyAttr>::Output<Bind<Key, T, <Sig as IntoSplitSignal>::Read, <Sig as IntoSplitSignal>::Write>>
§fn bind(
self,
key: Key,
signal: Sig,
) -> <V as BindAttribute<Key, Sig, T>>::Output
fn bind( self, key: Key, signal: Sig, ) -> <V as BindAttribute<Key, Sig, T>>::Output
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
Source§impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
Source§type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
parameters when converting.Source§fn cam16_into_unclamped(
self,
parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>,
) -> T
fn cam16_into_unclamped( self, parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>, ) -> T
self into C, using the provided parameters.Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
Source§fn components_from(colors: C) -> T
fn components_from(colors: C) -> T
§impl<T, K, V> CustomAttribute<K, V> for Twhere
T: AddAnyAttr,
K: CustomAttributeKey,
V: AttributeValue,
impl<T, K, V> CustomAttribute<K, V> for Twhere
T: AddAnyAttr,
K: CustomAttributeKey,
V: AttributeValue,
§impl<V, T, P, D> DirectiveAttribute<T, P, D> for Vwhere
V: AddAnyAttr,
D: IntoDirective<T, P>,
P: Clone + 'static,
T: 'static,
impl<V, T, P, D> DirectiveAttribute<T, P, D> for Vwhere
V: AddAnyAttr,
D: IntoDirective<T, P>,
P: Clone + 'static,
T: 'static,
§type Output = <V as AddAnyAttr>::Output<Directive<T, D, P>>
type Output = <V as AddAnyAttr>::Output<Directive<T, D, P>>
§fn directive(
self,
handler: D,
param: P,
) -> <V as DirectiveAttribute<T, P, D>>::Output
fn directive( self, handler: D, param: P, ) -> <V as DirectiveAttribute<T, P, D>>::Output
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSend for T
impl<T> DowncastSend for T
§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Source§impl<T> FromAngle<T> for T
impl<T> FromAngle<T> for T
Source§fn from_angle(angle: T) -> T
fn from_angle(angle: T) -> T
angle.§impl<T> FromFormData for Twhere
T: DeserializeOwned,
impl<T> FromFormData for Twhere
T: DeserializeOwned,
§fn from_event(ev: &Event) -> Result<T, FromFormDataError>
fn from_event(ev: &Event) -> Result<T, FromFormDataError>
submit event.§fn from_form_data(form_data: &FormData) -> Result<T, Error>
fn from_form_data(form_data: &FormData) -> Result<T, Error>
Source§impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
Source§fn from_stimulus(other: U) -> T
fn from_stimulus(other: U) -> T
other into Self, while performing the appropriate scaling,
rounding and clamping.§impl<T> Hexable for Twhere
T: Serialize + for<'de> Deserialize<'de>,
impl<T> Hexable for Twhere
T: Serialize + for<'de> Deserialize<'de>,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
Source§fn into_angle(self) -> U
fn into_angle(self) -> U
T.§impl<T> IntoAny for Twhere
T: Send + RenderHtml,
impl<T> IntoAny for Twhere
T: Send + RenderHtml,
§impl<T> IntoAttributeValue for Twhere
T: AttributeValue,
impl<T> IntoAttributeValue for Twhere
T: AttributeValue,
§fn into_attribute_value(self) -> <T as IntoAttributeValue>::Output
fn into_attribute_value(self) -> <T as IntoAttributeValue>::Output
Source§impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
Source§type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
parameters when converting.Source§fn into_cam16_unclamped(
self,
parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>,
) -> T
fn into_cam16_unclamped( self, parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>, ) -> T
self into C, using the provided parameters.Source§impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
Source§fn into_color(self) -> U
fn into_color(self) -> U
Source§impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
Source§fn into_color_unclamped(self) -> U
fn into_color_unclamped(self) -> U
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<ET, Err, A> IntoErr<ET, Err> for Awhere
ET: EngineTypes,
Err: From<A>,
impl<ET, Err, A> IntoErr<ET, Err> for Awhere
ET: EngineTypes,
Err: From<A>,
§impl<T> IntoMaybeErased for Twhere
T: RenderHtml,
impl<T> IntoMaybeErased for Twhere
T: RenderHtml,
§fn into_maybe_erased(self) -> <T as IntoMaybeErased>::Output
fn into_maybe_erased(self) -> <T as IntoMaybeErased>::Output
§impl<T, S> IntoOptionGetter<T, SignalMarker> for S
impl<T, S> IntoOptionGetter<T, SignalMarker> for S
§fn into_option_getter(self) -> OptionGetter<T>
fn into_option_getter(self) -> OptionGetter<T>
OptionGetter.§impl<T, I> IntoReactiveValue<T, __IntoReactiveValueMarkerBaseCase> for Iwhere
I: Into<T>,
impl<T, I> IntoReactiveValue<T, __IntoReactiveValueMarkerBaseCase> for Iwhere
I: Into<T>,
§fn into_reactive_value(self) -> T
fn into_reactive_value(self) -> T
self into a T.§impl<T> IntoRender for Twhere
T: Render,
impl<T> IntoRender for Twhere
T: Render,
§fn into_render(self) -> <T as IntoRender>::Output
fn into_render(self) -> <T as IntoRender>::Output
Source§impl<T> IntoStimulus<T> for T
impl<T> IntoStimulus<T> for T
Source§fn into_stimulus(self) -> T
fn into_stimulus(self) -> T
self into T, while performing the appropriate scaling,
rounding and clamping.§impl<D> OwoColorize for D
impl<D> OwoColorize for D
§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg] or
a color-specific method, such as [OwoColorize::green], Read more§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg] or
a color-specific method, such as [OwoColorize::on_yellow], Read more§fn fg_rgb<const R: u8, const G: u8, const B: u8>(
&self,
) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>
fn fg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>
§fn bg_rgb<const R: u8, const G: u8, const B: u8>(
&self,
) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>
fn bg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>
§fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>
fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>
§fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>
fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>
§fn if_supports_color<'a, Out, ApplyFn>(
&'a self,
stream: impl Into<Stream>,
apply: ApplyFn,
) -> SupportsColorsDisplay<'a, Self, Out, ApplyFn>where
ApplyFn: Fn(&'a Self) -> Out,
fn if_supports_color<'a, Out, ApplyFn>(
&'a self,
stream: impl Into<Stream>,
apply: ApplyFn,
) -> SupportsColorsDisplay<'a, Self, Out, ApplyFn>where
ApplyFn: Fn(&'a Self) -> Out,
supports-colors only.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T> ReactiveNode for Twhere
T: AsSubscriberSet + DefinedAt,
impl<T> ReactiveNode for Twhere
T: AsSubscriberSet + DefinedAt,
§fn mark_dirty(&self)
fn mark_dirty(&self)
§fn mark_check(&self)
fn mark_check(&self)
§fn mark_subscribers_check(&self)
fn mark_subscribers_check(&self)
§fn update_if_necessary(&self) -> bool
fn update_if_necessary(&self) -> bool
§impl<T> Read for Twhere
T: Track + ReadUntracked,
impl<T> Read for Twhere
T: Track + ReadUntracked,
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian().§impl<T> SerializableKey for T
impl<T> SerializableKey for T
§impl<T> Set for Twhere
T: Update + IsDisposed,
impl<T> Set for Twhere
T: Update + IsDisposed,
§impl<T> Source for Twhere
T: AsSubscriberSet + DefinedAt,
impl<T> Source for Twhere
T: AsSubscriberSet + DefinedAt,
§fn clear_subscribers(&self)
fn clear_subscribers(&self)
§fn add_subscriber(&self, subscriber: AnySubscriber)
fn add_subscriber(&self, subscriber: AnySubscriber)
§fn remove_subscriber(&self, subscriber: &AnySubscriber)
fn remove_subscriber(&self, subscriber: &AnySubscriber)
§impl<T> StorageAccess<T> for T
impl<T> StorageAccess<T> for T
§fn as_borrowed(&self) -> &T
fn as_borrowed(&self) -> &T
§fn into_taken(self) -> T
fn into_taken(self) -> T
Source§impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
Source§type Error = <C as TryFromComponents<T>>::Error
type Error = <C as TryFromComponents<T>>::Error
try_into_colors fails to cast.Source§fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
Source§impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
Source§fn try_into_color(self) -> Result<U, OutOfBounds<U>>
fn try_into_color(self) -> Result<U, OutOfBounds<U>>
OutOfBounds error is returned which contains
the unclamped color. Read moreSource§impl<C, U> UintsFrom<C> for Uwhere
C: IntoUints<U>,
impl<C, U> UintsFrom<C> for Uwhere
C: IntoUints<U>,
Source§fn uints_from(colors: C) -> U
fn uints_from(colors: C) -> U
Source§impl<C, U> UintsInto<C> for Uwhere
C: FromUints<U>,
impl<C, U> UintsInto<C> for Uwhere
C: FromUints<U>,
Source§fn uints_into(self) -> C
fn uints_into(self) -> C
Source§impl<S, T> Upcast<T> for S
impl<S, T> Upcast<T> for S
§impl<T> Update for Twhere
T: Write,
impl<T> Update for Twhere
T: Write,
§fn try_maybe_update<U>(
&self,
fun: impl FnOnce(&mut <T as Update>::Value) -> (bool, U),
) -> Option<U>
fn try_maybe_update<U>( &self, fun: impl FnOnce(&mut <T as Update>::Value) -> (bool, U), ) -> Option<U>
(true, _), and returns the value returned by the update function,
or None if the signal has already been disposed.§fn update(&self, fun: impl FnOnce(&mut Self::Value))
fn update(&self, fun: impl FnOnce(&mut Self::Value))
§fn maybe_update(&self, fun: impl FnOnce(&mut Self::Value) -> bool)
fn maybe_update(&self, fun: impl FnOnce(&mut Self::Value) -> bool)
true.§fn try_update<U>(&self, fun: impl FnOnce(&mut Self::Value) -> U) -> Option<U>
fn try_update<U>(&self, fun: impl FnOnce(&mut Self::Value) -> U) -> Option<U>
None if the signal has already been disposed.§impl<T> UpdateUntracked for Twhere
T: Write,
impl<T> UpdateUntracked for Twhere
T: Write,
§fn try_update_untracked<U>(
&self,
fun: impl FnOnce(&mut <T as UpdateUntracked>::Value) -> U,
) -> Option<U>
fn try_update_untracked<U>( &self, fun: impl FnOnce(&mut <T as UpdateUntracked>::Value) -> U, ) -> Option<U>
None if the signal has already been disposed.
Does not notify subscribers that the signal has changed.§fn update_untracked<U>(&self, fun: impl FnOnce(&mut Self::Value) -> U) -> U
fn update_untracked<U>(&self, fun: impl FnOnce(&mut Self::Value) -> U) -> U
§impl<T> With for Twhere
T: Read,
impl<T> With for Twhere
T: Read,
§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
§impl<T> WithUntracked for Twhere
T: DefinedAt + ReadUntracked,
impl<T> WithUntracked for Twhere
T: DefinedAt + ReadUntracked,
§type Value = <<T as ReadUntracked>::Value as Deref>::Target
type Value = <<T as ReadUntracked>::Value as Deref>::Target
§fn try_with_untracked<U>(
&self,
fun: impl FnOnce(&<T as WithUntracked>::Value) -> U,
) -> Option<U>
fn try_with_untracked<U>( &self, fun: impl FnOnce(&<T as WithUntracked>::Value) -> U, ) -> Option<U>
None if the signal has already been disposed.