[][src]Struct rustfst::algorithms::compose::ComposeFst

pub struct ComposeFst<W: Semiring, CFB: ComposeFilterBuilder<W>, Cache = SimpleHashMapCache<W>>(_);

Implementations

impl<W: Semiring, CFB: ComposeFilterBuilder<W>, Cache: FstCache<W>> ComposeFst<W, CFB, Cache>[src]

pub fn new_with_options(
    fst1: Arc<<<CFB::CF as ComposeFilter<W>>::M1 as Matcher<W>>::F>,
    fst2: Arc<<<CFB::CF as ComposeFilter<W>>::M2 as Matcher<W>>::F>,
    opts: ComposeFstOpOptions<CFB::M1, CFB::M2, CFB, StateTable<ComposeStateTuple<<CFB::CF as ComposeFilter<W>>::FS>>>
) -> Result<Self> where
    Cache: Default
[src]

pub fn new_with_options_and_cache(
    fst1: Arc<<<CFB::CF as ComposeFilter<W>>::M1 as Matcher<W>>::F>,
    fst2: Arc<<<CFB::CF as ComposeFilter<W>>::M2 as Matcher<W>>::F>,
    opts: ComposeFstOpOptions<CFB::M1, CFB::M2, CFB, StateTable<ComposeStateTuple<<CFB::CF as ComposeFilter<W>>::FS>>>,
    fst_cache: Cache
) -> Result<Self>
[src]

pub fn new(
    fst1: Arc<<<CFB::CF as ComposeFilter<W>>::M1 as Matcher<W>>::F>,
    fst2: Arc<<<CFB::CF as ComposeFilter<W>>::M2 as Matcher<W>>::F>
) -> Result<Self> where
    Cache: Default
[src]

pub fn compute<F2: MutableFst<W> + AllocableFst<W>>(&self) -> Result<F2>[src]

Turns the Lazy FST into a static one.

impl<W: Semiring, F1: ExpandedFst<W>, F2: ExpandedFst<W>> ComposeFst<W, SequenceComposeFilterBuilder<W, GenericMatcher<W, F1>, GenericMatcher<W, F2>>>[src]

pub fn new_auto(fst1: Arc<F1>, fst2: Arc<F2>) -> Result<Self>[src]

Trait Implementations

impl<W: Clone + Semiring, CFB: Clone + ComposeFilterBuilder<W>, Cache: Clone> Clone for ComposeFst<W, CFB, Cache>[src]

impl<W, CFB, Cache> CoreFst<W> for ComposeFst<W, CFB, Cache> where
    W: Semiring,
    CFB: ComposeFilterBuilder<W>,
    Cache: FstCache<W>, 
[src]

type TRS = TrsVec<W>

Weight use in the wFST. This type must implement the Semiring trait.

impl<W: Debug + Semiring, CFB: Debug + ComposeFilterBuilder<W>, Cache: Debug> Debug for ComposeFst<W, CFB, Cache>[src]

impl<W, CFB, Cache> Fst<W> for ComposeFst<W, CFB, Cache> where
    W: Semiring,
    CFB: ComposeFilterBuilder<W> + 'static,
    Cache: FstCache<W> + 'static, 
[src]

impl<'a, W, CFB, Cache> FstIterator<'a, W> for ComposeFst<W, CFB, Cache> where
    W: Semiring,
    CFB: ComposeFilterBuilder<W> + 'a,
    Cache: FstCache<W> + 'a, 
[src]

type FstIter = <LazyFst<W, ComposeFstOp<W, CFB>, Cache> as FstIterator<'a, W>>::FstIter

impl<'a, W, CFB, Cache> StateIterator<'a> for ComposeFst<W, CFB, Cache> where
    W: Semiring,
    CFB: ComposeFilterBuilder<W> + 'a,
    Cache: FstCache<W> + 'a, 
[src]

type Iter = <LazyFst<W, ComposeFstOp<W, CFB>, Cache> as StateIterator<'a>>::Iter

Iterator used to iterate over the state_id of the states of an FST.

Auto Trait Implementations

impl<W, CFB, Cache> RefUnwindSafe for ComposeFst<W, CFB, Cache> where
    CFB: RefUnwindSafe,
    Cache: RefUnwindSafe,
    W: RefUnwindSafe,
    <CFB as ComposeFilterBuilder<W>>::CF: ComposeFilter<W>,
    <<<CFB as ComposeFilterBuilder<W>>::CF as ComposeFilter<W>>::M1 as Matcher<W>>::F: RefUnwindSafe,
    <<<CFB as ComposeFilterBuilder<W>>::CF as ComposeFilter<W>>::M2 as Matcher<W>>::F: RefUnwindSafe,
    <<CFB as ComposeFilterBuilder<W>>::CF as ComposeFilter<W>>::M1: Matcher<W>,
    <<CFB as ComposeFilterBuilder<W>>::CF as ComposeFilter<W>>::M2: Matcher<W>, 

impl<W, CFB, Cache> Send for ComposeFst<W, CFB, Cache> where
    CFB: Send,
    Cache: Send,
    W: Send,
    <CFB as ComposeFilterBuilder<W>>::CF: ComposeFilter<W>,
    <<<CFB as ComposeFilterBuilder<W>>::CF as ComposeFilter<W>>::M1 as Matcher<W>>::F: Send + Sync,
    <<<CFB as ComposeFilterBuilder<W>>::CF as ComposeFilter<W>>::M2 as Matcher<W>>::F: Send + Sync,
    <<CFB as ComposeFilterBuilder<W>>::CF as ComposeFilter<W>>::FS: Send,
    <<CFB as ComposeFilterBuilder<W>>::CF as ComposeFilter<W>>::M1: Matcher<W>,
    <<CFB as ComposeFilterBuilder<W>>::CF as ComposeFilter<W>>::M2: Matcher<W>, 

impl<W, CFB, Cache> Sync for ComposeFst<W, CFB, Cache> where
    CFB: Sync,
    Cache: Sync,
    <CFB as ComposeFilterBuilder<W>>::CF: ComposeFilter<W>,
    <<<CFB as ComposeFilterBuilder<W>>::CF as ComposeFilter<W>>::M1 as Matcher<W>>::F: Send + Sync,
    <<<CFB as ComposeFilterBuilder<W>>::CF as ComposeFilter<W>>::M2 as Matcher<W>>::F: Send + Sync,
    <<CFB as ComposeFilterBuilder<W>>::CF as ComposeFilter<W>>::FS: Send,
    <<CFB as ComposeFilterBuilder<W>>::CF as ComposeFilter<W>>::M1: Matcher<W>,
    <<CFB as ComposeFilterBuilder<W>>::CF as ComposeFilter<W>>::M2: Matcher<W>, 

impl<W, CFB, Cache> Unpin for ComposeFst<W, CFB, Cache> where
    CFB: Unpin,
    Cache: Unpin,
    W: Unpin,
    <CFB as ComposeFilterBuilder<W>>::CF: ComposeFilter<W>,
    <<CFB as ComposeFilterBuilder<W>>::CF as ComposeFilter<W>>::FS: Unpin

impl<W, CFB, Cache> UnwindSafe for ComposeFst<W, CFB, Cache> where
    CFB: UnwindSafe,
    Cache: UnwindSafe,
    W: UnwindSafe,
    <CFB as ComposeFilterBuilder<W>>::CF: ComposeFilter<W>,
    <<<CFB as ComposeFilterBuilder<W>>::CF as ComposeFilter<W>>::M1 as Matcher<W>>::F: RefUnwindSafe,
    <<<CFB as ComposeFilterBuilder<W>>::CF as ComposeFilter<W>>::M2 as Matcher<W>>::F: RefUnwindSafe

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> Same<T> for T[src]

type Output = T

Should always be Self

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.