Trait ena::unify::UnificationStore [] [src]

pub trait UnificationStore: Index<usize, Output = VarValue<Self::Key>> + Clone {
    type Key: UnifyKey<Value = Self::Value>;
    type Value: UnifyValue;
    type Snapshot;
    fn new() -> Self;
fn start_snapshot(&mut self) -> Self::Snapshot;
fn rollback_to(&mut self, snapshot: Self::Snapshot);
fn commit(&mut self, snapshot: Self::Snapshot);
fn len(&self) -> usize;
fn push(&mut self, value: VarValue<Self::Key>);
fn update<F>(&mut self, index: usize, op: F)
    where
        F: FnOnce(&mut VarValue<Self::Key>)
; fn tag() -> &'static str { ... } }

Largely internal trait implemented by the unification table backing store types. The most common such type is InPlace, which indicates a standard, mutable unification table.

Associated Types

Required Methods

Provided Methods

Implementors