pub struct StorageStateRef<'a, Backend>(/* private fields */);Expand description
Generic State backend for an immutable shared-state guard.
This storage can expose &T through SRef, but it cannot expose &mut T
and therefore does not implement SMut. A State<StorageStateRef<...>>
is useful for read-only methods such as
fn endpoint(self: &State<impl SRef, Self, impl InOnline>) -> &str, but it
cannot be transitioned by the generated transition!
macro.
Trait Implementations§
Source§impl<'a, Backend> SRef for StorageStateRef<'a, Backend>where
Backend: SharedStorageView + 'a,
impl<'a, Backend> SRef for StorageStateRef<'a, Backend>where
Backend: SharedStorageView + 'a,
Source§impl<'a, Backend> StateStorage for StorageStateRef<'a, Backend>where
Backend: SharedStorageView + 'a,
impl<'a, Backend> StateStorage for StorageStateRef<'a, Backend>where
Backend: SharedStorageView + 'a,
Source§type Inference = InnerInference
type Inference = InnerInference
Selects how
SDiscriminated recovers the current state marker.Source§type Inner<T, S> = StateRef<<Backend as SharedStorageView>::ReadGuard<'a, T>, T, S>
where
T: StateMachineImpl
type Inner<T, S> = StateRef<<Backend as SharedStorageView>::ReadGuard<'a, T>, T, S> where T: StateMachineImpl
Concrete state representation used by this storage backend.
Source§type Machine<T> = T
where
T: StateMachineImpl
type Machine<T> = T where T: StateMachineImpl
Type that carries the state-machine implementation contract.
Auto Trait Implementations§
impl<'a, Backend> Freeze for StorageStateRef<'a, Backend>
impl<'a, Backend> RefUnwindSafe for StorageStateRef<'a, Backend>where
Backend: RefUnwindSafe,
impl<'a, Backend> Send for StorageStateRef<'a, Backend>where
Backend: Sync,
impl<'a, Backend> StateClone for StorageStateRef<'a, Backend>where
Backend: StateClone,
impl<'a, Backend> StateCopy for StorageStateRef<'a, Backend>where
Backend: StateCopy,
impl<'a, Backend> Sync for StorageStateRef<'a, Backend>where
Backend: Sync,
impl<'a, Backend> Unpin for StorageStateRef<'a, Backend>
impl<'a, Backend> UnsafeUnpin for StorageStateRef<'a, Backend>
impl<'a, Backend> UnwindSafe for StorageStateRef<'a, Backend>where
Backend: RefUnwindSafe,
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