Struct aho_corasick::automaton::Prefilter
source · pub struct Prefilter {
finder: Arc<dyn PrefilterI>,
memory_usage: usize,
}
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.
Fields§
§finder: Arc<dyn PrefilterI>
§memory_usage: usize
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.
pub(crate) fn memory_usage(&self) -> usize
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Prefilter
impl RefUnwindSafe for Prefilter
impl Send for Prefilter
impl Sync for Prefilter
impl Unpin for Prefilter
impl UnwindSafe for Prefilter
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)