Struct Builder
struct Builder { ... }
A builder for configuring an Aho-Corasick DFA.
This builder has a subset of the options available to a
AhoCorasickBuilder. Of the shared options,
their behavior is identical.
Implementations
impl Builder
fn new() -> BuilderCreate a new builder for configuring an Aho-Corasick DFA.
fn build<I, P>(self: &Self, patterns: I) -> Result<DFA, BuildError> where I: IntoIterator<Item = P>, P: AsRef<[u8]>Build an Aho-Corasick DFA from the given iterator of patterns.
A builder may be reused to create more DFAs.
fn build_from_noncontiguous(self: &Self, nnfa: &NFA) -> Result<DFA, BuildError>Build an Aho-Corasick DFA from the given noncontiguous NFA.
Note that when this method is used, only the
start_kindandbyte_classessettings 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.fn match_kind(self: &mut Self, kind: MatchKind) -> &mut BuilderSet the desired match semantics.
This only applies when using
Builder::buildand notBuilder::build_from_noncontiguous.See
AhoCorasickBuilder::match_kindfor more documentation and examples.fn ascii_case_insensitive(self: &mut Self, yes: bool) -> &mut BuilderEnable ASCII-aware case insensitive matching.
This only applies when using
Builder::buildand notBuilder::build_from_noncontiguous.See
AhoCorasickBuilder::ascii_case_insensitivefor more documentation and examples.fn prefilter(self: &mut Self, yes: bool) -> &mut BuilderEnable heuristic prefilter optimizations.
This only applies when using
Builder::buildand notBuilder::build_from_noncontiguous.See
AhoCorasickBuilder::prefilterfor more documentation and examples.fn start_kind(self: &mut Self, kind: StartKind) -> &mut BuilderSets the starting state configuration for the automaton.
See
AhoCorasickBuilder::start_kindfor more documentation and examples.fn byte_classes(self: &mut Self, yes: bool) -> &mut BuilderA 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_classesfor more documentation and examples.
impl Clone for Builder
fn clone(self: &Self) -> Builder
impl Debug for Builder
fn fmt(self: &Self, f: &mut Formatter<'_>) -> Result
impl Default for Builder
fn default() -> Builder
impl Freeze for Builder
impl RefUnwindSafe for Builder
impl Send for Builder
impl Sync for Builder
impl Unpin for Builder
impl UnsafeUnpin for Builder
impl UnwindSafe for Builder
impl<T> Any for Builder
fn type_id(self: &Self) -> TypeId
impl<T> Borrow for Builder
fn borrow(self: &Self) -> &T
impl<T> BorrowMut for Builder
fn borrow_mut(self: &mut Self) -> &mut T
impl<T> CloneToUninit for Builder
unsafe fn clone_to_uninit(self: &Self, dest: *mut u8)
impl<T> From for Builder
fn from(t: T) -> TReturns the argument unchanged.
impl<T> ToOwned for Builder
fn to_owned(self: &Self) -> Tfn clone_into(self: &Self, target: &mut T)
impl<T, U> Into for Builder
fn into(self: Self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom for Builder
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
impl<T, U> TryInto for Builder
fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error>