Struct StateCell

Source
pub struct StateCell<T> { /* private fields */ }
Expand description

Track change of value and signal to StateContext. This struct has no method and implements Deref, DerefMut. When inner value is mutable dereferenced, it is marked changed and send signal. This will also send signal when the cell is constructed or dropped.

Implementations§

Source§

impl<T> StateCell<T>

Source

pub fn new(inner: T) -> Self

Create new StateCell

Source

pub fn invalidate(this: &mut Self)

Invalidate this StateCell. Send signal to context.

Trait Implementations§

Source§

impl<T: Debug> Debug for StateCell<T>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<T: Default> Default for StateCell<T>

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<T> Deref for StateCell<T>

Source§

type Target = T

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl<T> DerefMut for StateCell<T>

Source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.
Source§

impl<T> Drop for StateCell<T>

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

impl<T> From<T> for StateCell<T>

Source§

fn from(inner: T) -> Self

Converts to this type from the input type.
Source§

impl<T> State for StateCell<T>

Source§

type Output = ()

Source§

fn update(this: &mut Self) -> Option<Self::Output>

Auto Trait Implementations§

§

impl<T> Freeze for StateCell<T>
where T: Freeze,

§

impl<T> RefUnwindSafe for StateCell<T>
where T: RefUnwindSafe,

§

impl<T> Send for StateCell<T>
where T: Send,

§

impl<T> Sync for StateCell<T>
where T: Sync,

§

impl<T> Unpin for StateCell<T>
where T: Unpin,

§

impl<T> UnwindSafe for StateCell<T>
where T: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<!> for T

Source§

fn from(t: !) -> T

Converts to this type from the input type.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.