Lines Matching refs:Arc
286 // This constructor computes the top. order. It accepts an arc filter
289 template <class Arc, class ArcFilter>
291 TopOrderQueue(const Fst<Arc> &fst, ArcFilter filter)
295 TopOrderVisitor<Arc> top_order_visitor(&order_, &acyclic);
504 template <class Arc, class ArcFilter>
505 AutoQueue(const Fst<Arc> &fst, const vector<typename Arc::Weight> *distance,
507 typedef typename Arc::Weight Weight;
525 SccVisitor<Arc> scc_visitor(&scc_, 0, 0, &props);
615 template <class Arc, class ArcFilter, class Less>
616 static void SccQueueType(const Fst<Arc> &fst,
639 // number of SCCs. An arc filter is used to limit the transitions
642 // true if the semiring is idempotent and all the arc weights are equal to
651 typedef A Arc;
661 for (StateIterator< Fst<Arc> > sit(fst); !sit.Done(); sit.Next()) {
663 for (ArcIterator< Fst<Arc> > ait(fst, state);
666 const Arc &arc = ait.Value();
667 if (!filter(arc)) continue;
668 if (scc[state] == scc[arc.nextstate]) {
670 if (!less || ((*less)(arc.weight, Weight::One())))
674 (arc.weight != Weight::Zero() && arc.weight != Weight::One()))
681 (arc.weight != Weight::Zero() && arc.weight != Weight::One()))