Enum MatchKind

#[non_exhaustive]
pub enum MatchKind

A knob for controlling the match semantics of a packed multiple string searcher.

This differs from the MatchKind type in the top-level crate module in that it doesn't support "standard" match semantics, and instead only supports leftmost-first or leftmost-longest. Namely, "standard" semantics cannot be easily supported by packed searchers.

For more information on the distinction between leftmost-first and leftmost-longest, see the docs on the top-level MatchKind type.

Unlike the top-level MatchKind type, the default match semantics for this type are leftmost-first.

Variants

LeftmostFirst

Use leftmost-first match semantics, which reports leftmost matches. When there are multiple possible leftmost matches, the match corresponding to the pattern that appeared earlier when constructing the automaton is reported.

This is the default.

LeftmostLongest

Use leftmost-longest match semantics, which reports leftmost matches. When there are multiple possible leftmost matches, the longest match is chosen.

Trait Implementations

impl Clone for MatchKind

fn clone(&self) -> Self

impl Copy for MatchKind

impl Debug for MatchKind

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

impl Default for MatchKind

fn default() -> MatchKind

impl Eq for MatchKind

impl PartialEq for MatchKind

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

impl StructuralPartialEq for MatchKind

Auto Trait Implementations

impl Freeze for MatchKind

impl RefUnwindSafe for MatchKind

impl Send for MatchKind

impl Sync for MatchKind

impl Unpin for MatchKind

impl UnsafeUnpin for MatchKind

impl UnwindSafe for MatchKind

Blanket Implementations

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

fn type_id(&self) -> TypeId

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

fn borrow(&self) -> &T

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

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

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

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

impl<T> From<T> for MatchKind

fn from(t: T) -> T

Returns the argument unchanged.

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

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

impl<T, U> Into<U> for MatchKind 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 MatchKind where U: Into<T>,

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

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

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