pub struct StorageStateMut<'a, Backend>(/* private fields */);Expand description
Generic State backend for a mutable shared-state guard.
Trait Implementations§
Source§impl<'a, Backend> MayTransition for StorageStateMut<'a, Backend>where
Backend: SharedStorageView + 'a,
impl<'a, Backend> MayTransition for StorageStateMut<'a, Backend>where
Backend: SharedStorageView + 'a,
Source§fn complete_transition<T, From, To, Args>(
state: State<Self, T, From>,
_args: Args,
_callsite: TransitionCallsite,
) -> State<Self, T, To>where
T: StateMachineImpl,
From: StateTrait,
To: ConcreteStateTrait,
T::Standin: Transition<From, To>,
<T::Standin as Transition<From, To>>::F: TransitionSignature<Args>,
fn complete_transition<T, From, To, Args>(
state: State<Self, T, From>,
_args: Args,
_callsite: TransitionCallsite,
) -> State<Self, T, To>where
T: StateMachineImpl,
From: StateTrait,
To: ConcreteStateTrait,
T::Standin: Transition<From, To>,
<T::Standin as Transition<From, To>>::F: TransitionSignature<Args>,
Retags a state after checking that
Args matches the declared transition signature. Read moreSource§impl<'a, Backend> SMut for StorageStateMut<'a, Backend>where
Backend: SharedStorageView + 'a,
impl<'a, Backend> SMut for StorageStateMut<'a, Backend>where
Backend: SharedStorageView + 'a,
Source§impl<'a, Backend> SRef for StorageStateMut<'a, Backend>where
Backend: SharedStorageView + 'a,
impl<'a, Backend> SRef for StorageStateMut<'a, Backend>where
Backend: SharedStorageView + 'a,
Source§impl<'a, Backend> StateStorage for StorageStateMut<'a, Backend>where
Backend: SharedStorageView + 'a,
impl<'a, Backend> StateStorage for StorageStateMut<'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> = StateMut<<Backend as SharedStorageView>::WriteGuard<'a, T>, T, S>
where
T: StateMachineImpl
type Inner<T, S> = StateMut<<Backend as SharedStorageView>::WriteGuard<'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 StorageStateMut<'a, Backend>
impl<'a, Backend> RefUnwindSafe for StorageStateMut<'a, Backend>where
Backend: RefUnwindSafe,
impl<'a, Backend> Send for StorageStateMut<'a, Backend>where
Backend: Sync,
impl<'a, Backend> StateClone for StorageStateMut<'a, Backend>where
Backend: StateClone,
impl<'a, Backend> StateCopy for StorageStateMut<'a, Backend>where
Backend: StateCopy,
impl<'a, Backend> Sync for StorageStateMut<'a, Backend>where
Backend: Sync,
impl<'a, Backend> Unpin for StorageStateMut<'a, Backend>
impl<'a, Backend> UnsafeUnpin for StorageStateMut<'a, Backend>
impl<'a, Backend> UnwindSafe for StorageStateMut<'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