Struct StateContainer

Source
pub struct StateContainer { /* private fields */ }
Expand description

State management for Orbit applications

This is the original state management system that is being enhanced with the reactive system. It’s kept for backward compatibility but new code should prefer the reactive system.

Implementations§

Source§

impl StateContainer

Source

pub fn new() -> Self

Create a new state container

Source

pub fn create<T: 'static + Clone + Send + Sync>(&self, initial: T) -> State<T>

Create a new state value

Source

pub fn computed<T, F>( &self, compute: F, dependencies: Vec<TypeId>, ) -> Computed<T>
where T: 'static + Clone + Send + Sync, F: Fn() -> T + Send + Sync + 'static,

Create computed state dependent on other state

Source

pub fn subscribe<T: 'static + Send + Sync, F: Fn() + Send + Sync + 'static>( &self, callback: F, )

Subscribe to state changes

Source

pub fn notify(&self, type_id: TypeId)

Notify subscribers of a change to a value

Trait Implementations§

Source§

impl Clone for StateContainer

Source§

fn clone(&self) -> StateContainer

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for StateContainer

Source§

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

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

impl Default for StateContainer

Source§

fn default() -> Self

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

Auto Trait Implementations§

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> Event for T
where T: Any + Clone + 'static,

Source§

fn as_any(&self) -> &(dyn Any + 'static)

Convert to Any for downcasting
Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert to Any for downcasting (mutable)
Source§

fn event_type(&self) -> &'static str

Get the event type name
Source§

fn box_clone(&self) -> Box<dyn Event>

Clone the event
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<T> Props for T
where T: 'static + Clone + Send + Sync,

Source§

fn type_name(&self) -> &'static str

Get the type name for debugging
Source§

fn box_clone(&self) -> Box<dyn Props>

Clone the props
Source§

fn as_any(&self) -> &(dyn Any + 'static)

Convert to Any for downcasting
Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert to mutable Any for downcasting
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.