[][src]Trait rustfst::algorithms::compose::compose_filters::ComposeFilterBuilder

pub trait ComposeFilterBuilder<W: Semiring>: Debug {
    type CF: ComposeFilter<W>;
    type M1: Matcher<W>;
    type M2: Matcher<W>;
    fn new(
        fst1: Arc<<<Self::CF as ComposeFilter<W>>::M1 as Matcher<W>>::F>,
        fst2: Arc<<<Self::CF as ComposeFilter<W>>::M2 as Matcher<W>>::F>,
        matcher1: Option<Self::M1>,
        matcher2: Option<Self::M2>
    ) -> Result<Self>
    where
        Self: Sized
;
fn build(&self) -> Result<Self::CF>; }

Associated Types

type CF: ComposeFilter<W>

type M1: Matcher<W>

type M2: Matcher<W>

Loading content...

Required methods

fn new(
    fst1: Arc<<<Self::CF as ComposeFilter<W>>::M1 as Matcher<W>>::F>,
    fst2: Arc<<<Self::CF as ComposeFilter<W>>::M2 as Matcher<W>>::F>,
    matcher1: Option<Self::M1>,
    matcher2: Option<Self::M2>
) -> Result<Self> where
    Self: Sized

fn build(&self) -> Result<Self::CF>

Loading content...

Implementors

impl<W, CFB, SMT> ComposeFilterBuilder<W> for PushLabelsComposeFilterBuilder<W, CFB, SMT> where
    W: Semiring,
    CFB: ComposeFilterBuilder<W>,
    CFB::CF: LookAheadComposeFilterTrait<W>,
    SMT: MatchTypeTrait,
    <CFB::CF as ComposeFilter<W>>::M1: LookaheadMatcher<W>,
    <CFB::CF as ComposeFilter<W>>::M2: LookaheadMatcher<W>, 
[src]

type CF = PushLabelsComposeFilter<W, CFB::CF, SMT>

type M1 = CFB::M1

type M2 = CFB::M2

impl<W, F1, F2, M1, M2, CF, CFB, SMT> ComposeFilterBuilder<W> for LookAheadComposeFilterBuilder<W, CFB, SMT> where
    W: Semiring,
    F1: ExpandedFst<W>,
    F2: ExpandedFst<W>,
    M1: Matcher<W, F = F1> + LookaheadMatcher<W>,
    M2: Matcher<W, F = F2> + LookaheadMatcher<W>,
    CF: ComposeFilter<W, M1 = M1, M2 = M2> + LookAheadComposeFilterTrait<W>,
    CFB: ComposeFilterBuilder<W, M1 = M1, M2 = M2, CF = CF>,
    SMT: MatchTypeTrait
[src]

type CF = LookAheadComposeFilter<W, CF, SMT>

type M1 = M1

type M2 = M2

impl<W, F1, F2, M1, M2, CF, CFB, SMT> ComposeFilterBuilder<W> for PushWeightsComposeFilterBuilder<W, CFB, SMT> where
    W: Semiring + WeaklyDivisibleSemiring + WeightQuantize,
    F1: ExpandedFst<W>,
    F2: ExpandedFst<W>,
    M1: Matcher<W, F = F1> + LookaheadMatcher<W>,
    M2: Matcher<W, F = F2> + LookaheadMatcher<W>,
    CF: ComposeFilter<W, M1 = M1, M2 = M2> + LookAheadComposeFilterTrait<W>,
    CFB: ComposeFilterBuilder<W, M1 = M1, M2 = M2, CF = CF>,
    SMT: MatchTypeTrait
[src]

type CF = PushWeightsComposeFilter<W, CF, SMT>

type M1 = M1

type M2 = M2

impl<W: Semiring, M1: Matcher<W>, M2: Matcher<W>> ComposeFilterBuilder<W> for AltSequenceComposeFilterBuilder<W, M1, M2>[src]

type CF = AltSequenceComposeFilter<W, M1, M2>

type M1 = M1

type M2 = M2

impl<W: Semiring, M1: Matcher<W>, M2: Matcher<W>> ComposeFilterBuilder<W> for MatchComposeFilterBuilder<W, M1, M2>[src]

type CF = MatchComposeFilter<W, M1, M2>

type M1 = M1

type M2 = M2

impl<W: Semiring, M1: Matcher<W>, M2: Matcher<W>> ComposeFilterBuilder<W> for NoMatchComposeFilterBuilder<W, M1, M2>[src]

type CF = NoMatchComposeFilter<W, M1, M2>

type M1 = M1

type M2 = M2

impl<W: Semiring, M1: Matcher<W>, M2: Matcher<W>> ComposeFilterBuilder<W> for NullComposeFilterBuilder<W, M1, M2>[src]

type CF = NullComposeFilter<W, M1, M2>

type M1 = M1

type M2 = M2

impl<W: Semiring, M1: Matcher<W>, M2: Matcher<W>> ComposeFilterBuilder<W> for SequenceComposeFilterBuilder<W, M1, M2>[src]

type CF = SequenceComposeFilter<W, M1, M2>

type M1 = M1

type M2 = M2

impl<W: Semiring, M1: Matcher<W>, M2: Matcher<W>> ComposeFilterBuilder<W> for TrivialComposeFilterBuilder<W, M1, M2>[src]

type CF = TrivialComposeFilter<W, M1, M2>

type M1 = M1

type M2 = M2

Loading content...