pub struct Prefilter { /* private fields */ }
Expand description
A prefilter for accelerating a search.
This crate uses prefilters in the core search implementations to accelerate common cases. They typically only apply to cases where there are a small number of patterns (less than 100 or so), but when they do, thoughput can be boosted considerably, perhaps by an order of magnitude. When a prefilter is active, it is used whenever a search enters an automaton’s start state.
Currently, prefilters cannot be constructed by
callers. A Prefilter
can only be accessed via the
Automaton::prefilter
method and used to execute a search. In other words, a prefilter can be
used to optimize your own search implementation if necessary, but cannot do
much else. If you have a use case for more APIs, please submit an issue.
Implementations§
Source§impl Prefilter
impl Prefilter
Sourcepub fn find_in(&self, haystack: &[u8], span: Span) -> Candidate
pub fn find_in(&self, haystack: &[u8], span: Span) -> Candidate
Execute a search in the haystack within the span given. If a match or a possible match is returned, then it is guaranteed to occur within the bounds of the span.
If the span provided is invalid for the given haystack, then behavior is unspecified.