Lines Matching refs:Arc
73 template <class Arc>
75 typedef typename Arc::StateId StateId;
77 DfsState(const Fst<Arc> &fst, StateId s): state_id(s), arc_iter(fst, s) {} in DfsState()
80 ArcIterator< Fst<Arc> > arc_iter; // and its corresponding arcs
91 template <class Arc, class V, class ArcFilter>
92 void DfsVisit(const Fst<Arc> &fst, V *visitor, ArcFilter filter) { in DfsVisit()
93 typedef typename Arc::StateId StateId; in DfsVisit()
104 stack<DfsState<Arc> *> state_stack; // DFS execution stack in DfsVisit()
114 StateIterator< Fst<Arc> > siter(fst); in DfsVisit()
122 state_stack.push(new DfsState<Arc>(fst, root)); in DfsVisit()
125 DfsState<Arc> *dfs_state = state_stack.top(); in DfsVisit()
131 ArcIterator< Fst<Arc> > &aiter = dfs_state->arc_iter; in DfsVisit()
137 DfsState<Arc> *parent_state = state_stack.top(); in DfsVisit()
139 ArcIterator< Fst<Arc> > &piter = parent_state->arc_iter; in DfsVisit()
147 const Arc &arc = aiter.Value(); in DfsVisit()
163 state_stack.push(new DfsState<Arc>(fst, arc.nextstate)); in DfsVisit()
198 template <class Arc, class V>
199 void DfsVisit(const Fst<Arc> &fst, V *visitor) { in DfsVisit()
200 DfsVisit(fst, visitor, AnyArcFilter<Arc>()); in DfsVisit()