Enum StartKind

pub enum StartKind

The kind of anchored starting configurations to support in an Aho-Corasick searcher.

Depending on which searcher is used internally by AhoCorasick, supporting both unanchored and anchored searches can be quite costly. For this reason, AhoCorasickBuilder::start_kind can be used to configure whether your searcher supports unanchored, anchored or both kinds of searches.

This searcher configuration knob works in concert with the search time configuration Input::anchored. Namely, if one requests an unsupported anchored mode, then the search will either panic or return an error, depending on whether you're using infallible or fallibe APIs, respectively.

AhoCorasick by default only supports unanchored searches.

Variants

Both

Support both anchored and unanchored searches.

Unanchored

Support only unanchored searches. Requesting an anchored search will return an error in fallible APIs and panic in infallible APIs.

Anchored

Support only anchored searches. Requesting an unanchored search will return an error in fallible APIs and panic in infallible APIs.

Trait Implementations

impl Clone for StartKind

fn clone(&self) -> Self

impl Copy for StartKind

impl Debug for StartKind

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

impl Default for StartKind

fn default() -> StartKind

impl Eq for StartKind

impl PartialEq for StartKind

fn eq(&self, other: &Self) -> bool

impl StructuralPartialEq for StartKind

Auto Trait Implementations

impl Freeze for StartKind

impl RefUnwindSafe for StartKind

impl Send for StartKind

impl Sync for StartKind

impl Unpin for StartKind

impl UnsafeUnpin for StartKind

impl UnwindSafe for StartKind

Blanket Implementations

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

fn type_id(&self) -> TypeId

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

fn borrow(&self) -> &T

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

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

impl<T> CloneToUninit for StartKind where T: Clone,

unsafe fn clone_to_uninit(&self, dest: *mut u8)

impl<T> From<T> for StartKind

fn from(t: T) -> T

Returns the argument unchanged.

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

type Owned = T;
fn to_owned(&self) -> T
fn clone_into(&self, target: &mut T)

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

fn into(self) -> U

Calls U::from(self).

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

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

type Error = never;
fn try_from(value: U) -> Result<T, never>

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

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