本文整理汇总了C++中BitArray::reverse方法的典型用法代码示例。如果您正苦于以下问题:C++ BitArray::reverse方法的具体用法?C++ BitArray::reverse怎么用?C++ BitArray::reverse使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BitArray
的用法示例。
在下文中一共展示了BitArray::reverse方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: runtime_error
Result
RSS14Reader::decodeRow(int rowNumber, const BitArray& row_, std::unique_ptr<DecodingState>& state) const
{
RSS14DecodingState* prevState = nullptr;
if (state == nullptr) {
state.reset(prevState = new RSS14DecodingState);
}
else {
#if !defined(ZX_HAVE_CONFIG)
#error "You need to include ZXConfig.h"
#elif !defined(ZX_NO_RTTI)
prevState = dynamic_cast<RSS14DecodingState*>(state.get());
#else
prevState = static_cast<RSS14DecodingState*>(state.get());
#endif
}
if (prevState == nullptr) {
throw std::runtime_error("Invalid state");
}
BitArray row = row_.copy();
AddOrTally(prevState->possibleLeftPairs, DecodePair(row, false, rowNumber));
row.reverse();
AddOrTally(prevState->possibleRightPairs, DecodePair(row, true, rowNumber));
// row.reverse();
for (const auto& left : prevState->possibleLeftPairs) {
if (left.count() > 1) {
for (const auto& right : prevState->possibleRightPairs) {
if (right.count() > 1) {
if (CheckChecksum(left, right)) {
return ConstructResult(left, right);
}
}
}
}
}
return Result(DecodeStatus::NotFound);
}