Struct fst::automaton::Subsequence[][src]

pub struct Subsequence<'a> { /* fields omitted */ }

An automaton that matches if the input contains a specific subsequence.

It can be used to build a simple fuzzy-finder.

extern crate fst;

use std::error::Error;

use fst::{IntoStreamer, Streamer, Set};
use fst::automaton::Subsequence;

fn example() -> Result<(), Box<Error>> {
    let paths = vec!["/home/projects/bar", "/home/projects/foo", "/tmp/foo"];
    let set = Set::from_iter(paths)?;

    // Build our fuzzy query.
    let subseq = Subsequence::new("hpf");

    // Apply our fuzzy query to the set we built.
    let mut stream = set.search(subseq).into_stream();

    let matches = stream.into_strs()?;
    assert_eq!(matches, vec!["/home/projects/foo"]);
    Ok(())
}

Methods

impl<'a> Subsequence<'a>
[src]

Constructs automaton that matches input containing the specified subsequence.

Trait Implementations

impl<'a> Automaton for Subsequence<'a>
[src]

The type of the state used in the automaton.

Returns a single start state for this automaton. Read more

Returns true if and only if state is a match state.

Returns true if and only if state can lead to a match in zero or more steps. Read more

Returns true if and only if state matches and must match no matter what steps are taken. Read more

Return the next state given state and an input.

Returns an automaton that matches the strings that start with something this automaton matches. Read more

Returns an automaton that matches the strings matched by either this or the other automaton. Read more

Returns an automaton that matches the strings matched by both this and the other automaton. Read more

Returns an automaton that matches the strings not matched by this automaton. Read more

Auto Trait Implementations

impl<'a> Send for Subsequence<'a>

impl<'a> Sync for Subsequence<'a>