Trait aho_corasick::Automaton[][src]

pub trait Automaton<P> {
    fn next_state(&self, si: StateIdx, b: u8) -> StateIdx;
fn has_match(&self, si: StateIdx, outi: usize) -> bool;
fn get_match(&self, si: StateIdx, outi: usize, texti: usize) -> Match;
fn start_bytes(&self) -> &[u8];
fn patterns(&self) -> &[P];
fn pattern(&self, i: usize) -> &P; fn len(&self) -> usize { ... }
fn is_empty(&self) -> bool { ... }
fn find<'a, 's, Q: ?Sized + AsRef<[u8]>>(
        &'a self,
        s: &'s Q
    ) -> Matches<'a, 's, P, Self>
    where
        Self: Sized
, { ... }
fn find_overlapping<'a, 's, Q: ?Sized + AsRef<[u8]>>(
        &'a self,
        s: &'s Q
    ) -> MatchesOverlapping<'a, 's, P, Self>
    where
        Self: Sized
, { ... }
fn stream_find<'a, R: Read>(
        &'a self,
        rdr: R
    ) -> StreamMatches<'a, R, P, Self>
    where
        Self: Sized
, { ... }
fn stream_find_overlapping<'a, R: Read>(
        &'a self,
        rdr: R
    ) -> StreamMatchesOverlapping<'a, R, P, Self>
    where
        Self: Sized
, { ... } }
[]

An abstraction over automatons and their corresponding iterators. The type parameter P is the type of the pattern that was used to construct this Automaton.

Required Methods

[]

Return the next state given the current state and next character.

[]

Return true if and only if the given state and current pattern index indicate a match.

[]

Build a match given the current state, pattern index and input index.

[]

Return the set of bytes that have transitions in the root state.

[]

Returns all of the patterns matched by this automaton.

The order of the patterns is the order in which they were added.

[]

Returns the pattern indexed at i.

The index corresponds to the position at which the pattern was added to the automaton, starting at 0.

Provided Methods

[]

Return the number of patterns in the automaton.

[]

Returns true if the automaton has no patterns.

Important traits for Matches<'a, 's, P, A>

[]

Returns an iterator of non-overlapping matches in s.

Important traits for MatchesOverlapping<'a, 's, P, A>

[]

Returns an iterator of overlapping matches in s.

Important traits for StreamMatches<'a, R, P, A>

[]

Returns an iterator of non-overlapping matches in the given reader.

Important traits for StreamMatchesOverlapping<'a, R, P, A>

[]

Returns an iterator of overlapping matches in the given reader.

Implementations on Foreign Types

impl<'a, P: AsRef<[u8]>, A: 'a + Automaton<P> + ?Sized> Automaton<P> for &'a A
[src]

[]

Important traits for Matches<'a, 's, P, A>

Important traits for MatchesOverlapping<'a, 's, P, A>

Important traits for StreamMatches<'a, R, P, A>

Important traits for StreamMatchesOverlapping<'a, R, P, A>

Implementors