本文整理汇总了C++中Transition::getMove方法的典型用法代码示例。如果您正苦于以下问题:C++ Transition::getMove方法的具体用法?C++ Transition::getMove怎么用?C++ Transition::getMove使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Transition
的用法示例。
在下文中一共展示了Transition::getMove方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: oneStep
void Simulation::oneStep() {
//Search for possible transitions by source state
vector<Transition*> filteredTransitions;
//std::cout << curState << " ==> ";
auto ret = transitions.equal_range(curState);
for (auto it=ret.first;it!=ret.second;++it) {
filteredTransitions.push_back((*it).second);
}
if (filteredTransitions.empty()) {
curState = "reject";
return;
}
//Search for possible transitions by read character
vector<Transition*> possibleTransitions;
char readValue = tape->getChar();
for (Transition* tr : filteredTransitions ) {
if (tr->getRead() == readValue) {
possibleTransitions.push_back(tr);
}
}
if (possibleTransitions.empty()) {
curState = "reject";
return;
}
// transition
assert(possibleTransitions.size() == 1); // cannot copy with multi transitions
Transition* select = possibleTransitions[0];
char wt = select->getWrite();
char mv = select->getMove();
std::string nextState = select->getNextState();
tape->setChar(wt);
tape->move(mv);
curState = nextState;
//std::cout << nextState << std::endl;
}