[][src]Struct regex_automata::dense::ByteClass

pub struct ByteClass<T: AsRef<[S]>, S: StateID>(_);

A dense DFA that shrinks its alphabet.

Alphabet shrinking is achieved by using a set of equivalence classes instead of using all possible byte values. Any two bytes belong to the same equivalence class if and only if they can be used interchangeably anywhere in the DFA while never discriminating between a match and a non-match.

This type of DFA can result in significant space reduction with a very small match time performance penalty.

Generally, it isn't necessary to use this type directly, since a DenseDFA can be used for searching directly. One possible reason why one might want to use this type directly is if you are implementing your own search routines by walking a DFA's transitions directly. In that case, you'll want to use this type (or any of the other DFA variant types) directly, since they implement next_state more efficiently.

Trait Implementations

impl<T: Clone + AsRef<[S]>, S: Clone + StateID> Clone for ByteClass<T, S>[src]

impl<T: AsRef<[S]>, S: StateID> DFA for ByteClass<T, S>[src]

type ID = S

The representation used for state identifiers in this DFA. Read more

impl<T: Debug + AsRef<[S]>, S: Debug + StateID> Debug for ByteClass<T, S>[src]

Auto Trait Implementations

impl<T, S> RefUnwindSafe for ByteClass<T, S> where
    S: RefUnwindSafe,
    T: RefUnwindSafe

impl<T, S> Send for ByteClass<T, S> where
    S: Send,
    T: Send

impl<T, S> Sync for ByteClass<T, S> where
    S: Sync,
    T: Sync

impl<T, S> Unpin for ByteClass<T, S> where
    S: Unpin,
    T: Unpin

impl<T, S> UnwindSafe for ByteClass<T, S> where
    S: UnwindSafe,
    T: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.