Skip to main content

## UnificationStore

# Trait UnificationStore

Source

    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§

Source

#### type Snapshot

## 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>

## Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so 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>>>,

Source§

#### type Snapshot = Snapshot<<L as Snapshots<UndoLog<Delegate<K>>>>::Snapshot>