[][src]Struct regex_automata::dense::Premultiplied

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

A dense DFA that premultiplies all of its state identifiers in its transition table.

This saves an instruction per byte at match time which improves search performance.

The only downside of premultiplication is that it may prevent one from using a smaller state identifier representation than you otherwise could.

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 Premultiplied<T, S>[src]

impl<T: AsRef<[S]>, S: StateID> DFA for Premultiplied<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 Premultiplied<T, S>[src]

Auto Trait Implementations

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

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

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

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

impl<T, S> UnwindSafe for Premultiplied<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.