Struct rustfst::algorithms::compose::MatcherFst
source · pub struct MatcherFst<W, F, B, M, T> { /* private fields */ }
Implementations§
source§impl<W, F, B, M, T> MatcherFst<W, F, B, M, T>
impl<W, F, B, M, T> MatcherFst<W, F, B, M, T>
source§impl<W, F, B, M> MatcherFst<W, F, B, M, M::MatcherData>where
W: Semiring,
F: MutableFst<W>,
B: Borrow<F>,
M: LookaheadMatcher<W, F, B, MatcherData = LabelReachableData>,
impl<W, F, B, M> MatcherFst<W, F, B, M, M::MatcherData>where
W: Semiring,
F: MutableFst<W>,
B: Borrow<F>,
M: LookaheadMatcher<W, F, B, MatcherData = LabelReachableData>,
pub fn new(fst: F) -> Result<Self>
pub fn new_with_relabeling<F2: MutableFst<W>>( fst: F, fst2: &mut F2, relabel_input: bool ) -> Result<Self>
Trait Implementations§
source§impl<W: Clone, F: Clone, B: Clone, M: Clone, T: Clone> Clone for MatcherFst<W, F, B, M, T>
impl<W: Clone, F: Clone, B: Clone, M: Clone, T: Clone> Clone for MatcherFst<W, F, B, M, T>
source§fn clone(&self) -> MatcherFst<W, F, B, M, T>
fn clone(&self) -> MatcherFst<W, F, B, M, T>
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: Semiring, F: CoreFst<W>, B: Borrow<F>, M, T> CoreFst<W> for MatcherFst<W, F, B, M, T>
impl<W: Semiring, F: CoreFst<W>, B: Borrow<F>, M, T> CoreFst<W> for MatcherFst<W, F, B, M, T>
§type TRS = <FstAddOn<F, T> as CoreFst<W>>::TRS
type TRS = <FstAddOn<F, T> as CoreFst<W>>::TRS
Weight use in the wFST. This type must implement the Semiring trait.
source§fn start(&self) -> Option<StateId>
fn start(&self) -> Option<StateId>
Returns the ID of the start state of the wFST if it exists else none. Read more
source§fn final_weight(&self, state_id: StateId) -> Result<Option<W>>
fn final_weight(&self, state_id: StateId) -> Result<Option<W>>
Retrieves the final weight of a state (if the state is a final one). Read more
source§unsafe fn final_weight_unchecked(&self, state_id: StateId) -> Option<W>
unsafe fn final_weight_unchecked(&self, state_id: StateId) -> Option<W>
Retrieves the final weight of a state (if the state is a final one). Read more
source§fn num_trs(&self, s: StateId) -> Result<usize>
fn num_trs(&self, s: StateId) -> Result<usize>
Number of trs leaving a specific state in the wFST. Read more
source§unsafe fn num_trs_unchecked(&self, s: StateId) -> usize
unsafe fn num_trs_unchecked(&self, s: StateId) -> usize
Number of trs leaving a specific state in the wFST. Read more
source§fn get_trs(&self, state_id: StateId) -> Result<Self::TRS>
fn get_trs(&self, state_id: StateId) -> Result<Self::TRS>
Get an iterator on the transitions leaving state
state
.source§unsafe fn get_trs_unchecked(&self, state_id: StateId) -> Self::TRS
unsafe fn get_trs_unchecked(&self, state_id: StateId) -> Self::TRS
Get an iterator on the transitions leaving state
state
. Read moresource§fn properties(&self) -> FstProperties
fn properties(&self) -> FstProperties
Retrieve the
FstProperties
stored in the Fst. As a result, all the properties returned
are verified by the Fst but some other properties might be true as well despite the flag
not being set.source§fn num_input_epsilons(&self, state: StateId) -> Result<usize>
fn num_input_epsilons(&self, state: StateId) -> Result<usize>
Returns the number of trs with epsilon input labels leaving a state. Read more
source§fn num_output_epsilons(&self, state: StateId) -> Result<usize>
fn num_output_epsilons(&self, state: StateId) -> Result<usize>
Returns the number of trs with epsilon output labels leaving a state. Read more
source§fn is_final(&self, state_id: StateId) -> Result<bool>
fn is_final(&self, state_id: StateId) -> Result<bool>
Returns whether or not the state with identifier passed as parameters is a final state. Read more
source§unsafe fn is_final_unchecked(&self, state: StateId) -> bool
unsafe fn is_final_unchecked(&self, state: StateId) -> bool
Returns whether or not the state with identifier passed as parameters is a final state. Read more
source§fn is_start(&self, state_id: StateId) -> bool
fn is_start(&self, state_id: StateId) -> bool
Check whether a state is the start state or not.
source§fn properties_with_mask(&self, mask: FstProperties) -> FstProperties
fn properties_with_mask(&self, mask: FstProperties) -> FstProperties
Apply a mask to the
FstProperties
returned.source§fn properties_check(&self, props_known: FstProperties) -> Result<FstProperties>
fn properties_check(&self, props_known: FstProperties) -> Result<FstProperties>
Retrieve the
FstProperties
in the Fst and check that all the
properties in props_known
are known (not the same as true). If not an error is returned. Read moresource§impl<W, F, M, B, T> ExpandedFst<W> for MatcherFst<W, F, B, M, T>
impl<W, F, M, B, T> ExpandedFst<W> for MatcherFst<W, F, B, M, T>
source§fn num_states(&self) -> usize
fn num_states(&self) -> usize
Returns the number of states that contains the FST. They are all counted even if some states
are not on a successful path (doesn’t perform triming). Read more
fn states_range(&self) -> Range<StateId>
fn approx_equal<F2: ExpandedFst<W>>(&self, fst2: &F2, delta: f32) -> bool
source§impl<W, F, B, M, T> Fst<W> for MatcherFst<W, F, B, M, T>
impl<W, F, B, M, T> Fst<W> for MatcherFst<W, F, B, M, T>
source§fn input_symbols(&self) -> Option<&Arc<SymbolTable>>
fn input_symbols(&self) -> Option<&Arc<SymbolTable>>
Retrieves the input
SymbolTable
associated to the Fst.
If no SymbolTable has been previously attached then None
is returned.source§fn output_symbols(&self) -> Option<&Arc<SymbolTable>>
fn output_symbols(&self) -> Option<&Arc<SymbolTable>>
Retrieves the output
SymbolTable
associated to the Fst.
If no SymbolTable has been previously attached then None
is returned.source§fn set_input_symbols(&mut self, symt: Arc<SymbolTable>)
fn set_input_symbols(&mut self, symt: Arc<SymbolTable>)
Attaches an output
SymbolTable
to the Fst.
The SymbolTable
is not duplicated with the use of Arc.source§fn set_output_symbols(&mut self, symt: Arc<SymbolTable>)
fn set_output_symbols(&mut self, symt: Arc<SymbolTable>)
Attaches an output
SymbolTable
to the Fst.
The SymbolTable
is not duplicated with the use of Arc.source§fn take_input_symbols(&mut self) -> Option<Arc<SymbolTable>>
fn take_input_symbols(&mut self) -> Option<Arc<SymbolTable>>
Removes the input symbol table from the Fst and retrieves it.
source§fn take_output_symbols(&mut self) -> Option<Arc<SymbolTable>>
fn take_output_symbols(&mut self) -> Option<Arc<SymbolTable>>
Removes the output symbol table from the Fst and retrieves it.
source§fn final_states_iter(&self) -> FinalStatesIterator<'_, W, Self>where
Self: Sized,
fn final_states_iter(&self) -> FinalStatesIterator<'_, W, Self>where
Self: Sized,
Returns an Iterator on the final states along with their weight.
source§fn paths_iter(&self) -> PathsIterator<'_, W, Self> ⓘwhere
Self: Sized,
fn paths_iter(&self) -> PathsIterator<'_, W, Self> ⓘwhere
Self: Sized,
Returns an Iterator on the paths accepted by the Fst. Read more
source§fn string_paths_iter(&self) -> Result<StringPathsIterator<'_, W, Self>>where
Self: Sized,
fn string_paths_iter(&self) -> Result<StringPathsIterator<'_, W, Self>>where
Self: Sized,
Returns an Iterator on the paths accepted by the Fst. Plus, handles the SymbolTable
allowing to retrieve the strings instead of only the sequence of labels. Read more
source§impl<W, F, B, M, T> FstIntoIterator<W> for MatcherFst<W, F, B, M, T>
impl<W, F, B, M, T> FstIntoIterator<W> for MatcherFst<W, F, B, M, T>
type TrsIter = <F as FstIntoIterator<W>>::TrsIter
type FstIter = <F as FstIntoIterator<W>>::FstIter
fn fst_into_iter(self) -> Self::FstIter
source§impl<'a, W, F, B, M, T> FstIterator<'a, W> for MatcherFst<W, F, B, M, T>
impl<'a, W, F, B, M, T> FstIterator<'a, W> for MatcherFst<W, F, B, M, T>
source§impl<W: PartialEq, F: PartialEq, B: PartialEq, M: PartialEq, T: PartialEq> PartialEq for MatcherFst<W, F, B, M, T>
impl<W: PartialEq, F: PartialEq, B: PartialEq, M: PartialEq, T: PartialEq> PartialEq for MatcherFst<W, F, B, M, T>
source§fn eq(&self, other: &MatcherFst<W, F, B, M, T>) -> bool
fn eq(&self, other: &MatcherFst<W, F, B, M, T>) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl<'a, W, F: StateIterator<'a>, B: Borrow<F>, M, T> StateIterator<'a> for MatcherFst<W, F, B, M, T>
impl<'a, W, F: StateIterator<'a>, B: Borrow<F>, M, T> StateIterator<'a> for MatcherFst<W, F, B, M, T>
§type Iter = <F as StateIterator<'a>>::Iter
type Iter = <F as StateIterator<'a>>::Iter
Iterator used to iterate over the
state_id
of the states of an FST.source§fn states_iter(&'a self) -> Self::Iter
fn states_iter(&'a self) -> Self::Iter
Creates an iterator over the
state_id
of the states of an FST. Read moreimpl<W, F, B, M, T> StructuralPartialEq for MatcherFst<W, F, B, M, T>
Auto Trait Implementations§
impl<W, F, B, M, T> Freeze for MatcherFst<W, F, B, M, T>where
F: Freeze,
impl<W, F, B, M, T> RefUnwindSafe for MatcherFst<W, F, B, M, T>
impl<W, F, B, M, T> Send for MatcherFst<W, F, B, M, T>
impl<W, F, B, M, T> Sync for MatcherFst<W, F, B, M, T>
impl<W, F, B, M, T> Unpin for MatcherFst<W, F, B, M, T>
impl<W, F, B, M, T> UnwindSafe for MatcherFst<W, F, B, M, T>
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