Lines Matching defs:ComposeFst
43 // objects; in that case, ComposeFst takes their ownership. This
72 // objects; in that case, ComposeFst takes their ownership. This
126 VLOG(2) << "ComposeFst(" << this << "): Begin";
130 FSTERROR() << "ComposeFst: output symbol table of 1st argument "
236 VLOG(2) << "ComposeFst(" << this
402 VLOG(2) << "ComposeFst(" << this << "): Match type: "
415 VLOG(2) << "ComposeFst(" << this << "): Initialized";
425 FSTERROR() << "ComposeFst: only one argument can require matching.";
429 FSTERROR() << "ComposeFst: 1st argument requires matching but cannot.";
435 FSTERROR() << "ComposeFst: 2nd argument requires matching but cannot.";
461 FSTERROR() << "ComposeFst: 1st argument cannot match on output labels "
488 // - ComposeFst does not trim its output (since it is a delayed operation).
502 class ComposeFst : public ImplToFst< ComposeFstImplBase<A> > {
504 friend class ArcIterator< ComposeFst<A> >;
505 friend class StateIterator< ComposeFst<A> >;
516 ComposeFst(const Fst<A> &fst1, const Fst<A> &fst2,
524 ComposeFst(const Fst<A> &fst1, const Fst<A> &fst2,
534 ComposeFst(const typename M1::FST &fst1, const typename M2::FST &fst2,
539 ComposeFst(const ComposeFst<A> &fst, bool safe = false) {
546 // Get a copy of this ComposeFst. See Fst<>::Copy() for further doc.
547 virtual ComposeFst<A> *Copy(bool safe = false) const {
548 return new ComposeFst<A>(*this, safe);
558 ComposeFst() {}
570 FSTERROR() << "ComposeFst: Weights must be a commutative semiring: "
594 VLOG(2) << "ComposeFst: Default composition (no look-ahead)";
599 VLOG(2) << "ComposeFst: Lookahead on fst1";
606 VLOG(2) << "ComposeFst: Lookahead on fst2";
619 void operator=(const ComposeFst<A> &fst); // disallow
623 // Specialization for ComposeFst.
625 class StateIterator< ComposeFst<A> >
626 : public CacheStateIterator< ComposeFst<A> > {
628 explicit StateIterator(const ComposeFst<A> &fst)
629 : CacheStateIterator< ComposeFst<A> >(fst, fst.GetImpl()) {}
633 // Specialization for ComposeFst.
635 class ArcIterator< ComposeFst<A> >
636 : public CacheArcIterator< ComposeFst<A> > {
640 ArcIterator(const ComposeFst<A> &fst, StateId s)
641 : CacheArcIterator< ComposeFst<A> >(fst.GetImpl(), s) {
651 void ComposeFst<A>::InitStateIterator(StateIteratorData<A> *data) const {
652 data->base = new StateIterator< ComposeFst<A> >(*this);
656 typedef ComposeFst<StdArc> StdComposeFst;
707 *ofst = ComposeFst<Arc>(ifst1, ifst2, nopts);
711 *ofst = ComposeFst<Arc>(ifst1, ifst2, copts);
715 *ofst = ComposeFst<Arc>(ifst1, ifst2, copts);
719 *ofst = ComposeFst<Arc>(ifst1, ifst2, copts);