Home | History | Annotate | Download | only in fst

Lines Matching defs:arc

40 // template <class Arc>
43 // typedef typename Arc::StateId StateId;
47 // void InitVisit(const Fst<Arc> &fst);
50 // // Invoked when arc to white/undiscovered state examined
51 // bool WhiteArc(StateId s, const Arc &a);
52 // // Invoked when arc to grey/unfinished state examined
53 // bool GreyArc(StateId s, const Arc &a);
54 // // Invoked when arc to black/finished state examined
55 // bool BlackArc(StateId s, const Arc &a);
68 template <class Arc, class V, class Q, class ArcFilter>
69 void Visit(const Fst<Arc> &fst, V *visitor, Q *queue, ArcFilter filter) {
71 typedef typename Arc::StateId StateId;
72 typedef ArcIterator< Fst<Arc> > AIterator;
88 const unsigned kArcIterDone = 0x08; // Arc iterator done and destroyed
102 StateIterator< Fst<Arc> > siter(fst);
119 // Creates arc iterator if needed.
122 // Deletes arc iterator if done.
137 const Arc &arc = aiter->Value();
138 if (arc.nextstate >= state_status.size()) {
139 nstates = arc.nextstate + 1;
143 // Visits respective arc types
144 if (filter(arc)) {
146 if (state_status[arc.nextstate] == kWhiteState) {
147 visit = visitor->WhiteArc(s, arc);
149 visit = visitor->InitState(arc.nextstate, root);
150 state_status[arc.nextstate] = kGreyState;
151 queue->Enqueue(arc.nextstate);
152 } else if (state_status[arc.nextstate] == kBlackState) {
153 visit = visitor->BlackArc(s, arc);
155 visit = visitor->GreyArc(s, arc);
188 template <class Arc, class V, class Q>
189 inline void Visit(const Fst<Arc> &fst, V *visitor, Q* queue) {
190 Visit(fst, visitor, queue, AnyArcFilter<Arc>());
197 typedef A Arc;
200 CopyVisitor(MutableFst<Arc> *ofst) : ifst_(0), ofst_(ofst) {}
214 bool WhiteArc(StateId s, const Arc &arc) {
215 ofst_->AddArc(s, arc);
219 bool GreyArc(StateId s, const Arc &arc) {
220 ofst_->AddArc(s, arc);
224 bool BlackArc(StateId s, const Arc &arc) {
225 ofst_->AddArc(s, arc);
236 const Fst<Arc> *ifst_;
237 MutableFst<Arc> *ofst_;
247 typedef A Arc;
267 bool WhiteArc(StateId s, const Arc &arc) { return true; }
268 bool GreyArc(StateId s, const Arc &arc) { return true; }
269 bool BlackArc(StateId s, const Arc &arc) { return true; }