pub struct InPlace<K, V = Vec<VarValue<K>, Global>, L = VecLog<UndoLog<Delegate<K>>>>where
K: UnifyKey,
V: VecLike<Delegate<K>>,{ /* private fields */ }
Expand description
Backing store for an in-place unification table. Not typically used directly.
Trait Implementations§
source§impl<K, V, L> Clone for InPlace<K, V, L>where
K: Clone + UnifyKey,
V: Clone + VecLike<Delegate<K>>,
L: Clone,
impl<K, V, L> Clone for InPlace<K, V, L>where K: Clone + UnifyKey, V: Clone + VecLike<Delegate<K>>, L: Clone,
source§impl<K, V, L> Debug for InPlace<K, V, L>where
K: Debug + UnifyKey,
V: Debug + VecLike<Delegate<K>>,
L: Debug,
impl<K, V, L> Debug for InPlace<K, V, L>where K: Debug + UnifyKey, V: Debug + VecLike<Delegate<K>>, L: Debug,
source§impl<K, V, L> Default for InPlace<K, V, L>where
K: UnifyKey,
V: VecLike<Delegate<K>> + Default,
L: Default,
impl<K, V, L> Default for InPlace<K, V, L>where K: UnifyKey, V: VecLike<Delegate<K>> + Default, L: Default,
source§impl<K, V, L> UnificationStore for InPlace<K, V, L>where
K: UnifyKey,
V: VecLike<Delegate<K>>,
L: Snapshots<UndoLog<Delegate<K>>>,
impl<K, V, L> UnificationStore for InPlace<K, V, L>where K: UnifyKey, V: VecLike<Delegate<K>>, L: Snapshots<UndoLog<Delegate<K>>>,
type Snapshot = Snapshot<<L as Snapshots<UndoLog<Delegate<K>>>>::Snapshot>
fn start_snapshot(&mut self) -> <InPlace<K, V, L> as UnificationStore>::Snapshot
fn rollback_to( &mut self, snapshot: <InPlace<K, V, L> as UnificationStore>::Snapshot )
fn commit(&mut self, snapshot: <InPlace<K, V, L> as UnificationStore>::Snapshot)
fn values_since_snapshot( &self, snapshot: &<InPlace<K, V, L> as UnificationStore>::Snapshot ) -> Range<usize>
source§impl<K, V, L> UnificationStoreBase for InPlace<K, V, L>where
K: UnifyKey,
V: VecLike<Delegate<K>>,
impl<K, V, L> UnificationStoreBase for InPlace<K, V, L>where K: UnifyKey, V: VecLike<Delegate<K>>,
source§impl<K, V, L> UnificationStoreMut for InPlace<K, V, L>where
K: UnifyKey,
V: VecLike<Delegate<K>>,
L: UndoLogs<UndoLog<Delegate<K>>>,
impl<K, V, L> UnificationStoreMut for InPlace<K, V, L>where K: UnifyKey, V: VecLike<Delegate<K>>, L: UndoLogs<UndoLog<Delegate<K>>>,
fn reset_unifications( &mut self, value: impl FnMut(u32) -> VarValue<<InPlace<K, V, L> as UnificationStoreBase>::Key> )
fn push( &mut self, value: VarValue<<InPlace<K, V, L> as UnificationStoreBase>::Key> )
fn reserve(&mut self, num_new_values: usize)
fn update<F>(&mut self, index: usize, op: F)where F: FnOnce(&mut VarValue<<InPlace<K, V, L> as UnificationStoreBase>::Key>),
Auto Trait Implementations§
impl<K, V, L> RefUnwindSafe for InPlace<K, V, L>where K: RefUnwindSafe, L: RefUnwindSafe, V: RefUnwindSafe,
impl<K, V, L> Send for InPlace<K, V, L>where K: Send, L: Send, V: Send,
impl<K, V, L> Sync for InPlace<K, V, L>where K: Sync, L: Sync, V: Sync,
impl<K, V, L> Unpin for InPlace<K, V, L>where K: Unpin, L: Unpin, V: Unpin,
impl<K, V, L> UnwindSafe for InPlace<K, V, L>where K: UnwindSafe, L: UnwindSafe, V: UnwindSafe,
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