Struct RegexVec
pub struct RegexVec { /* private fields */ }
Implementations§
§impl RegexVec
impl RegexVec
pub fn alpha(&self) -> &AlphabetInfo
pub fn lazy_regexes(&self) -> &SimpleVob
pub fn initial_state(&mut self, selected: &SimpleVob) -> StateID
pub fn initial_state(&mut self, selected: &SimpleVob) -> StateID
Create and return the initial state of a DFA for this regex vector
pub fn state_desc(&self, state: StateID) -> &StateDesc
pub fn possible_lookahead_len(&mut self, state: StateID) -> usize
pub fn lookahead_len_for_state(&mut self, state: StateID) -> Option<usize>
pub fn transition(&mut self, state: StateID, b: u8) -> StateID
pub fn transition(&mut self, state: StateID, b: u8) -> StateID
Given a transition (a from-state and a byte) of the DFA for this regex vector, return the to-state. It is taken from the cache, if it is cached, and created otherwise.
pub fn subsume_possible(&mut self, state: StateID) -> bool
pub fn subsume_possible(&mut self, state: StateID) -> bool
“Subsumption” is a feature implementing regex containment. subsume_possible() returns true if it’s possible for this state, false otherwise.
pub fn check_subsume(
&mut self,
state: StateID,
lexeme_idx: usize,
budget: u64,
) -> Result<bool, Error>
pub fn check_subsume( &mut self, state: StateID, lexeme_idx: usize, budget: u64, ) -> Result<bool, Error>
Part of the interface for “subsumption”, a feature implementing regex containment.
pub fn lowest_match(&mut self, state: StateID) -> Option<(usize, usize)>
pub fn lowest_match(&mut self, state: StateID) -> Option<(usize, usize)>
Return index of lowest matching regex if any. Lazy regexes match as soon as they accept, while greedy only if they accept and force EOI.
pub fn next_byte(&mut self, state: StateID) -> NextByte
pub fn next_byte(&mut self, state: StateID) -> NextByte
Check if the there is only one transition out of state. This is an approximation - see docs for NextByte.
pub fn limit_state_to( &mut self, state: StateID, allowed_lexemes: &SimpleVob, ) -> StateID
pub fn total_fuel_spent(&self) -> u64
pub fn set_max_states(&mut self, max_states: usize)
pub fn set_fuel(&mut self, fuel: u64)
pub fn has_error(&self) -> bool
pub fn get_error(&self) -> Option<String>
pub fn stats(&self) -> String
pub fn print_state_table(&self)
Trait Implementations§
Auto Trait Implementations§
impl Freeze for RegexVec
impl RefUnwindSafe for RegexVec
impl Send for RegexVec
impl Sync for RegexVec
impl Unpin for RegexVec
impl UnwindSafe for RegexVec
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)§impl<T> Downcast for Twhere
T: AsAny + ?Sized,
impl<T> Downcast for Twhere
T: AsAny + ?Sized,
§fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
Forward to the method defined on the type
Any
.§fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
Forward to the method defined on the type
Any
.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more