Struct aho_corasick::FullAcAutomaton [−][src]
pub struct FullAcAutomaton<P> { /* fields omitted */ }
Expand description
A complete Aho-Corasick automaton.
This uses a single transition matrix that permits each input character to move to the next state with a single lookup in the matrix.
This is as fast as it gets, but it is guaranteed to use a lot of memory.
Namely, it will use at least 4 * 256 * #states
, where the number of
states is capped at length of all patterns concatenated.
Implementations
Build a new expanded Aho-Corasick automaton from an existing Aho-Corasick automaton.
Trait Implementations
Return the next state given the current state and next character.
Build a match given the current state, pattern index and input index.
Return true if and only if the given state and current pattern index indicate a match. Read more
Return the set of bytes that have transitions in the root state.
Returns an iterator of non-overlapping matches in s
.
fn find_overlapping<'a, 's, Q: ?Sized + AsRef<[u8]>>(
&'a self,
s: &'s Q
) -> MatchesOverlapping<'a, 's, P, Self>ⓘNotable traits for MatchesOverlapping<'a, 's, P, A>impl<'a, 's, P, A: Automaton<P> + ?Sized> Iterator for MatchesOverlapping<'a, 's, P, A> type Item = Match;
where
Self: Sized,
fn find_overlapping<'a, 's, Q: ?Sized + AsRef<[u8]>>(
&'a self,
s: &'s Q
) -> MatchesOverlapping<'a, 's, P, Self>ⓘNotable traits for MatchesOverlapping<'a, 's, P, A>impl<'a, 's, P, A: Automaton<P> + ?Sized> Iterator for MatchesOverlapping<'a, 's, P, A> type Item = Match;
where
Self: Sized,
impl<'a, 's, P, A: Automaton<P> + ?Sized> Iterator for MatchesOverlapping<'a, 's, P, A> type Item = Match;
Returns an iterator of overlapping matches in s
.
fn stream_find<'a, R: Read>(&'a self, rdr: R) -> StreamMatches<'a, R, P, Self>ⓘNotable traits for StreamMatches<'a, R, P, A>impl<'a, R: Read, P, A: Automaton<P>> Iterator for StreamMatches<'a, R, P, A> type Item = Result<Match>;
where
Self: Sized,
fn stream_find<'a, R: Read>(&'a self, rdr: R) -> StreamMatches<'a, R, P, Self>ⓘNotable traits for StreamMatches<'a, R, P, A>impl<'a, R: Read, P, A: Automaton<P>> Iterator for StreamMatches<'a, R, P, A> type Item = Result<Match>;
where
Self: Sized,
impl<'a, R: Read, P, A: Automaton<P>> Iterator for StreamMatches<'a, R, P, A> type Item = Result<Match>;
Returns an iterator of non-overlapping matches in the given reader.
fn stream_find_overlapping<'a, R: Read>(
&'a self,
rdr: R
) -> StreamMatchesOverlapping<'a, R, P, Self>ⓘNotable traits for StreamMatchesOverlapping<'a, R, P, A>impl<'a, R: Read, P, A: Automaton<P> + ?Sized> Iterator for StreamMatchesOverlapping<'a, R, P, A> type Item = Result<Match>;
where
Self: Sized,
fn stream_find_overlapping<'a, R: Read>(
&'a self,
rdr: R
) -> StreamMatchesOverlapping<'a, R, P, Self>ⓘNotable traits for StreamMatchesOverlapping<'a, R, P, A>impl<'a, R: Read, P, A: Automaton<P> + ?Sized> Iterator for StreamMatchesOverlapping<'a, R, P, A> type Item = Result<Match>;
where
Self: Sized,
impl<'a, R: Read, P, A: Automaton<P> + ?Sized> Iterator for StreamMatchesOverlapping<'a, R, P, A> type Item = Result<Match>;
Returns an iterator of overlapping matches in the given reader.
Auto Trait Implementations
impl<P> RefUnwindSafe for FullAcAutomaton<P> where
P: RefUnwindSafe,
impl<P> Send for FullAcAutomaton<P> where
P: Send,
impl<P> Sync for FullAcAutomaton<P> where
P: Sync,
impl<P> Unpin for FullAcAutomaton<P> where
P: Unpin,
impl<P> UnwindSafe for FullAcAutomaton<P> where
P: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more