pub trait UnificationStore: UnificationStoreMut {
    type Snapshot;

    // Required methods
    fn start_snapshot(&mut self) -> Self::Snapshot;
    fn rollback_to(&mut self, snapshot: Self::Snapshot);
    fn commit(&mut self, snapshot: Self::Snapshot);
    fn values_since_snapshot(&self, snapshot: &Self::Snapshot) -> Range<usize>;
}

Required Associated Types§

Required Methods§

source

fn start_snapshot(&mut self) -> Self::Snapshot

source

fn rollback_to(&mut self, snapshot: Self::Snapshot)

source

fn commit(&mut self, snapshot: Self::Snapshot)

source

fn values_since_snapshot(&self, snapshot: &Self::Snapshot) -> Range<usize>

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<K, V, L> UnificationStore for InPlace<K, V, L>
where K: UnifyKey, V: VecLike<Delegate<K>>, L: Snapshots<UndoLog<Delegate<K>>>,