Struct regex_automata::dense::Premultiplied
source · [−]Expand description
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
Return the identifier of this DFA’s start state.
Returns true if and only if the given identifier corresponds to a match state. Read more
Returns true if and only if the given identifier corresponds to a dead state. When a DFA enters a dead state, it is impossible to leave and thus can never lead to a match. Read more
Returns true if and only if the given identifier corresponds to either
a dead state or a match state, such that one of is_match_state(id)
or is_dead_state(id)
must return true. Read more
Returns true if and only if this DFA is anchored. Read more
Given the current state that this DFA is in and the next input byte, this method returns the identifier of the next state. The identifier returned is always valid, but it may correspond to a dead state. Read more
Like next_state
, but its implementation may look up the next state
without memory safety checks such as bounds checks. As such, callers
must ensure that the given identifier corresponds to a valid DFA
state. Implementors must, in turn, ensure that this routine is safe
for all valid state identifiers and for all possible u8
values. Read more
Returns true if and only if the given bytes match this DFA. Read more
Returns the first position at which a match is found. Read more
Returns the end offset of the longest match. If no match exists,
then None
is returned. Read more
Returns the start offset of the longest match in reverse, by searching
from the end of the input towards the start of the input. If no match
exists, then None
is returned. In other words, this has the same
match semantics as find
, but in reverse. Read more
Returns the same as is_match
, but starts the search at the given
offset. Read more
Returns the same as shortest_match
, but starts the search at the
given offset. Read more
Returns the same as find
, but starts the search at the given
offset. Read more
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
Mutably borrows from an owned value. Read more