Skip to main content

## UnificationStoreBase

# Trait UnificationStoreBase

Source

    pub trait UnificationStoreBase: Index<usize, Output = VarValue<Self::Key>> {
        type Key: UnifyKey<Value = Self::Value>;
        type Value: UnifyValue;

        // Required method
        fn len(&self) -> usize;

        // Provided method
        fn tag() -> &'static str { ... }
    }

Expand description

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.

## Required Associated Types§

Source

#### type Key: UnifyKey<Value = Self::Value>

Source

#### type Value: UnifyValue

## Required Methods§

Source

#### fn len(&self) -> usize

## Provided Methods§

Source

#### fn tag() -> &'static str

## 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> UnificationStoreBase for InPlace<K, V, L>
where K: UnifyKey, V: VecLike<Delegate<K>>,

Source§

#### type Key = K

Source§

#### type Value = <K as UnifyKey>::Value