[go: up one dir, main page]

fst 0.1.1

Use finite state transducers to compactly represents sets or maps of many strings (> 1 billion is possible).
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
pub trait Automaton {
    type State: Copy;

    fn start(&self) -> Self::State;
    fn is_match(&self, state: Self::State) -> bool;
    fn accept(&self, state: Self::State, byte: u8) -> Option<Self::State>;
}

pub struct AlwaysMatch;

impl Automaton for AlwaysMatch {
    type State = ();

    fn start(&self) -> () { () }
    fn is_match(&self, _: ()) -> bool { true }
    fn accept(&self, _: (), _: u8) -> Option<()> { Some(()) }
}