Struct aper::data_structures::Atom [−][src]
Expand description
A StateMachine representing a value which is “atomic” from the perspective of managing state: it is only ever changed by completely replacing it.
Implementations
Return a transition which, when processed, will replace the value of the atom with the value provided.
Trait Implementations
impl<'de, T: Clone + PartialEq + Debug + Unpin + Send + Sync> Deserialize<'de> for Atom<T> where
T: Deserialize<'de>,
impl<'de, T: Clone + PartialEq + Debug + Unpin + Send + Sync> Deserialize<'de> for Atom<T> where
T: Deserialize<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
type Transition = ReplaceAtom<T>
type Transition = ReplaceAtom<T>
The StateMachine::Transition
type associates another type with this state machine
as its transitions. Read more
type Conflict = NeverConflict
Update the state machine according to the given [Transition
]. This method must be
deterministic: calling it on a clone of the state with a clone of the [Transition
]
must result in the same state, even at a different time and on a different machine. This
is the requirement that allows Aper to keep the state in sync across multiple machines. Read more
Auto Trait Implementations
impl<T> RefUnwindSafe for Atom<T> where
T: RefUnwindSafe,
impl<T> UnwindSafe for Atom<T> where
T: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more