Struct aho_corasick::nfa::contiguous::Builder

source ·
pub struct Builder {
    noncontiguous: Builder,
    dense_depth: usize,
    byte_classes: bool,
}
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.

Fields§

§noncontiguous: Builder§dense_depth: usize§byte_classes: bool

Implementations§

source§

impl Builder

source

pub fn new() -> Builder

Create a new builder for configuring an Aho-Corasick contiguous NFA.

source

pub fn build<I, P>(&self, patterns: I) -> Result<NFA, BuildError>
where I: IntoIterator<Item = P>, P: AsRef<[u8]>,

Build an Aho-Corasick contiguous NFA from the given iterator of patterns.

A builder may be reused to create more NFAs.

source

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.

source

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.

source

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.

source

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.

source

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.

source

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.

Trait Implementations§

source§

impl Clone for Builder

source§

fn clone(&self) -> Builder

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Builder

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for Builder

source§

fn default() -> Builder

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.