pub struct Builder { /* private fields */ }
Expand description
A builder for configuring an Aho-Corasick contiguous NFA.
This builder has a subset of the options available to a
AhoCorasickBuilder
. Of the shared options,
their behavior is identical.
Implementations§
Source§impl Builder
impl Builder
Sourcepub fn build<I, P>(&self, patterns: I) -> Result<NFA, BuildError>
pub fn build<I, P>(&self, patterns: I) -> Result<NFA, BuildError>
Build an Aho-Corasick contiguous NFA from the given iterator of patterns.
A builder may be reused to create more NFAs.
Sourcepub fn build_from_noncontiguous(&self, nnfa: &NFA) -> Result<NFA, BuildError>
pub fn build_from_noncontiguous(&self, nnfa: &NFA) -> Result<NFA, BuildError>
Build an Aho-Corasick contiguous NFA from the given noncontiguous NFA.
Note that when this method is used, only the dense_depth
and
byte_classes
settings on this builder are respected. The other
settings only apply to the initial construction of the Aho-Corasick
automaton. Since using this method requires that initial construction
has already completed, all settings impacting only initial construction
are no longer relevant.
Sourcepub fn match_kind(&mut self, kind: MatchKind) -> &mut Builder
pub fn match_kind(&mut self, kind: MatchKind) -> &mut Builder
Set the desired match semantics.
This only applies when using Builder::build
and not
Builder::build_from_noncontiguous
.
See
AhoCorasickBuilder::match_kind
for more documentation and examples.
Sourcepub fn ascii_case_insensitive(&mut self, yes: bool) -> &mut Builder
pub fn ascii_case_insensitive(&mut self, yes: bool) -> &mut Builder
Enable ASCII-aware case insensitive matching.
This only applies when using Builder::build
and not
Builder::build_from_noncontiguous
.
See
AhoCorasickBuilder::ascii_case_insensitive
for more documentation and examples.
Sourcepub fn prefilter(&mut self, yes: bool) -> &mut Builder
pub fn prefilter(&mut self, yes: bool) -> &mut Builder
Enable heuristic prefilter optimizations.
This only applies when using Builder::build
and not
Builder::build_from_noncontiguous
.
See
AhoCorasickBuilder::prefilter
for more documentation and examples.
Sourcepub fn dense_depth(&mut self, depth: usize) -> &mut Builder
pub fn dense_depth(&mut self, depth: usize) -> &mut Builder
Set the limit on how many states use a dense representation for their transitions. Other states will generally use a sparse representation.
See
AhoCorasickBuilder::dense_depth
for more documentation and examples.
Sourcepub fn byte_classes(&mut self, yes: bool) -> &mut Builder
pub fn byte_classes(&mut self, yes: bool) -> &mut Builder
A debug setting for whether to attempt to shrink the size of the automaton’s alphabet or not.
This should never be enabled unless you’re debugging an automaton. Namely, disabling byte classes makes transitions easier to reason about, since they use the actual bytes instead of equivalence classes. Disabling this confers no performance benefit at search time.
See
AhoCorasickBuilder::byte_classes
for more documentation and examples.