Type Action::inputType(const QString & inputPosition, bool & isValid) const { isValid = false; if(inputPosition != InputPosition()) return Type(); isValid = true; return inputType(); }
bool isNumber(string s) { int size = s.size(); if (size == 0) return false; initTransTable(); int curState = 0; int i = 0; while (i < size) { int curInput = inputType(s[i]); if(curInput == 5) return false; curState = transTable[curState][curInput]; if(curState == -1) return false; i++; } if (curState == 2 || curState == 3 || curState == 5 || curState == 6) return true; else return false; }