pub struct LabelLookAheadMatcher<W, F, B, M, MFT>{ /* private fields */ }
Trait Implementations§
source§impl<W, F, B, M, MFT: Clone> Clone for LabelLookAheadMatcher<W, F, B, M, MFT>
impl<W, F, B, M, MFT: Clone> Clone for LabelLookAheadMatcher<W, F, B, M, MFT>
source§fn clone(&self) -> LabelLookAheadMatcher<W, F, B, M, MFT>
fn clone(&self) -> LabelLookAheadMatcher<W, F, B, M, MFT>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<W, F, B, M, MFT: Debug> Debug for LabelLookAheadMatcher<W, F, B, M, MFT>
impl<W, F, B, M, MFT: Debug> Debug for LabelLookAheadMatcher<W, F, B, M, MFT>
source§impl<W, F, B, M, MFT> LookaheadMatcher<W, F, B> for LabelLookAheadMatcher<W, F, B, M, MFT>
impl<W, F, B, M, MFT> LookaheadMatcher<W, F, B> for LabelLookAheadMatcher<W, F, B, M, MFT>
type MatcherData = LabelReachableData
fn data(&self) -> Option<&Arc<Self::MatcherData>>
fn new_with_data( fst: B, match_type: MatchType, data: Option<Arc<Self::MatcherData>> ) -> Result<Self>
fn create_data<F2: Fst<W>, BF2: Borrow<F2>>( fst: BF2, match_type: MatchType ) -> Result<Option<Self::MatcherData>>
fn init_lookahead_fst<LF: Fst<W>, BLF: Borrow<LF> + Clone>( &mut self, lfst: &BLF ) -> Result<()>
fn lookahead_fst<LF: Fst<W>, BLF: Borrow<LF>>( &self, matcher_state: StateId, lfst: &BLF, lfst_state: StateId ) -> Result<Option<LookAheadMatcherData<W>>>
fn lookahead_label(&self, current_state: StateId, label: Label) -> Result<bool>
fn lookahead_prefix( &self, tr: &mut Tr<W>, la_matcher_data: &LookAheadMatcherData<W> ) -> bool
source§impl<W, F, B, M, MFT> Matcher<W, F, B> for LabelLookAheadMatcher<W, F, B, M, MFT>
impl<W, F, B, M, MFT> Matcher<W, F, B> for LabelLookAheadMatcher<W, F, B, M, MFT>
type Iter = <M as Matcher<W, F, B>>::Iter
fn new(fst: B, match_type: MatchType) -> Result<Self>
fn iter(&self, state: StateId, label: Label) -> Result<Self::Iter>
fn final_weight(&self, state: StateId) -> Result<Option<W>>
fn match_type(&self, test: bool) -> Result<MatchType>
fn flags(&self) -> MatcherFlags
source§fn priority(&self, state: StateId) -> Result<usize>
fn priority(&self, state: StateId) -> Result<usize>
Indicates preference for being the side used for matching in
composition. If the value is kRequirePriority, then it is
mandatory that it be used. Calling this method without passing the
current state of the matcher invalidates the state of the matcher.
fn fst(&self) -> &B
source§impl<W, F, B, M, MFT: PartialEq> PartialEq for LabelLookAheadMatcher<W, F, B, M, MFT>
impl<W, F, B, M, MFT: PartialEq> PartialEq for LabelLookAheadMatcher<W, F, B, M, MFT>
source§fn eq(&self, other: &LabelLookAheadMatcher<W, F, B, M, MFT>) -> bool
fn eq(&self, other: &LabelLookAheadMatcher<W, F, B, M, MFT>) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl<W, F, B, M, MFT> StructuralPartialEq for LabelLookAheadMatcher<W, F, B, M, MFT>
Auto Trait Implementations§
impl<W, F, B, M, MFT> Freeze for LabelLookAheadMatcher<W, F, B, M, MFT>where
M: Freeze,
impl<W, F, B, M, MFT> RefUnwindSafe for LabelLookAheadMatcher<W, F, B, M, MFT>
impl<W, F, B, M, MFT> Send for LabelLookAheadMatcher<W, F, B, M, MFT>
impl<W, F, B, M, MFT> Sync for LabelLookAheadMatcher<W, F, B, M, MFT>
impl<W, F, B, M, MFT> Unpin for LabelLookAheadMatcher<W, F, B, M, MFT>
impl<W, F, B, M, MFT> UnwindSafe for LabelLookAheadMatcher<W, F, B, M, MFT>
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> 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