Lines Matching refs:StateId
40 typedef typename A::StateId StateId;
43 CcVisitor(vector<StateId> *cc)
44 : comps_(new UnionFind<StateId>(0, kNoStateId)),
49 CcVisitor(UnionFind<StateId> *comps)
61 bool InitState(StateId s, StateId root) {
68 bool WhiteArc(StateId s, const A &arc) {
74 bool GreyArc(StateId s, const A &arc) {
79 bool BlackArc(StateId s, const A &arc) {
84 void FinishState(StateId s) { }
93 int GetCcVector(vector<StateId> *cc) {
96 StateId ncomp = 0;
97 for (StateId i = 0; i < nstates_; ++i) {
98 StateId rep = comps_->FindSet(i);
99 StateId &comp = (*cc)[rep];
110 UnionFind<StateId> *comps_; // Components
111 vector<StateId> *cc_; // State's cc number
112 StateId nstates_; // State count
125 typedef typename A::StateId StateId;
134 SccVisitor(vector<StateId> *scc, vector<bool> *access,
142 bool InitState(StateId s, StateId root);
144 bool TreeArc(StateId s, const A &arc) { return true; }
146 bool BackArc(StateId s, const A &arc) {
147 StateId t = arc.nextstate;
161 bool ForwardOrCrossArc(StateId s, const A &arc) {
162 StateId t = arc.nextstate;
171 void FinishState(StateId s, StateId p, const A *);
176 for (StateId i = 0; i < scc_->size(); ++i)
187 vector<StateId> *scc_; // State's scc number
192 StateId start_;
193 StateId nstates_; // State count
194 StateId nscc_; // SCC count
196 vector<StateId> *dfnumber_; // state discovery times
197 vector<StateId> *lowlink_; // lowlink[s] == dfnumber[s] => SCC root
199 vector<StateId> *scc_stack_; // SCC stack (w/ random access)
221 dfnumber_ = new vector<StateId>;
222 lowlink_ = new vector<StateId>;
224 scc_stack_ = new vector<StateId>;
228 bool SccVisitor<A>::InitState(StateId s, StateId root) {
257 void SccVisitor<A>::FinishState(StateId s, StateId p, const A *) {
263 StateId t;
302 typedef typename Arc::StateId StateId;
309 vector<StateId> dstates;
310 for (StateId s = 0; s < access.size(); ++s)