pub trait TransitionTable {
    type KeyType: Clone;
    type IterType<'a>: Iterator<Item = (Self::KeyType, &'a GeneralSAMNodeID)>
       where Self: 'a,
             Self::KeyType: 'a;

    // Required methods
    fn from_kv_iter<'b, Iter: Iterator<Item = (Self::KeyType, &'b GeneralSAMNodeID)>>(
        iter: Iter
    ) -> Self
       where Self::KeyType: 'b;
    fn get(&self, key: &Self::KeyType) -> Option<&GeneralSAMNodeID>;
    fn get_mut(&mut self, key: &Self::KeyType) -> Option<&mut GeneralSAMNodeID>;
    fn iter(&self) -> Self::IterType<'_>;

    // Provided methods
    fn contains_key(&self, key: &Self::KeyType) -> bool { ... }
    fn transitions(
        &self
    ) -> TransitionIter<'_, Self::KeyType, Self::IterType<'_>>  { ... }
}

Required Associated Types§

source

type KeyType: Clone

source

type IterType<'a>: Iterator<Item = (Self::KeyType, &'a GeneralSAMNodeID)> where Self: 'a, Self::KeyType: 'a

Required Methods§

source

fn from_kv_iter<'b, Iter: Iterator<Item = (Self::KeyType, &'b GeneralSAMNodeID)>>( iter: Iter ) -> Selfwhere Self::KeyType: 'b,

source

fn get(&self, key: &Self::KeyType) -> Option<&GeneralSAMNodeID>

source

fn get_mut(&mut self, key: &Self::KeyType) -> Option<&mut GeneralSAMNodeID>

source

fn iter(&self) -> Self::IterType<'_>

Provided Methods§

source

fn contains_key(&self, key: &Self::KeyType) -> bool

source

fn transitions(&self) -> TransitionIter<'_, Self::KeyType, Self::IterType<'_>>

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<K: Clone + Ord, C: AsRef<[(K, GeneralSAMNodeID)]> + AsMut<[(K, GeneralSAMNodeID)]> + FromIterator<(K, GeneralSAMNodeID)>> TransitionTable for BisectTable<K, C>

§

type KeyType = K

§

type IterType<'a> = BisectTableIter<'a, K> where Self: 'a, Self::KeyType: 'a

source§

impl<K: SmallAlphabet, C: AsRef<[Option<GeneralSAMNodeID>]> + AsMut<[Option<GeneralSAMNodeID>]> + FromIterator<Option<GeneralSAMNodeID>> + Clone> TransitionTable for WholeAlphabetTable<K, C>

§

type KeyType = K

§

type IterType<'a> = WholeAlphabetTableIter<'a, K> where Self: 'a, Self::KeyType: 'a

source§

impl<KeyType: Clone + Ord> TransitionTable for BTreeTransTable<KeyType>

§

type KeyType = KeyType

§

type IterType<'a> = WithKeyDerefedIter<'a, KeyType, Iter<'a, KeyType, usize>> where Self: 'a, Self::KeyType: 'a

source§

impl<KeyType: Hash + Eq + Clone> TransitionTable for HashTransTable<KeyType>

§

type KeyType = KeyType

§

type IterType<'a> = WithKeyDerefedIter<'a, KeyType, Iter<'a, KeyType, usize>> where Self: 'a, Self::KeyType: 'a