本文整理汇总了C++中Status::Merge方法的典型用法代码示例。如果您正苦于以下问题:C++ Status::Merge方法的具体用法?C++ Status::Merge怎么用?C++ Status::Merge使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Status
的用法示例。
在下文中一共展示了Status::Merge方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: UpdateArrow
void UpdateArrow(const Arrow &a) {
if (status_by_arrow.count(a) > 0)
return;
int node2 = ArrowEnd(a);
Status status = statii.at(a.first);
bool found_reverse = false;
for (const auto &ia : incoming_arrows.at(a.first)) {
assert(ArrowEnd(ia) == a.first);
//cout << " ia " << ia << " " << ArrowEnd(ia) << endl;
if (ia.first == node2) {
found_reverse = true;
continue;
}
UpdateArrow(ia);
status.Merge(status_by_arrow.at(ia));
}
// cout << "UA " << a << " " << node2 << endl;
assert(!incoming_arrows.at(a.first).empty()); // todo: remove in non-tree case
if (!incoming_arrows.at(a.first).empty())
assert(found_reverse);
status_by_arrow[a] = status.Translate(a.second, dfa);
}