本文整理汇总了C++中BitArray::rend方法的典型用法代码示例。如果您正苦于以下问题:C++ BitArray::rend方法的具体用法?C++ BitArray::rend怎么用?C++ BitArray::rend使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BitArray
的用法示例。
在下文中一共展示了BitArray::rend方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ResultPoint
static RSS::FinderPattern
ParseFoundFinderPattern(const BitArray& row, int rowNumber, bool right, BitArray::Range range, FinderCounters& finderCounters)
{
if (!range || range.begin == row.begin())
return {};
// Actually we found elements 2-5 -> Locate element 1
auto i = std::find(BitArray::ReverseIterator(range.begin), row.rend(), *range.begin);
int firstCounter = range.begin - i.base();
range.begin = i.base();
// Make 'counters' hold 1-4
std::copy_backward(finderCounters.begin(), finderCounters.end() - 1, finderCounters.end());
finderCounters[0] = firstCounter;
int value = RSS::ReaderHelper::ParseFinderValue(finderCounters, FINDER_PATTERNS);
if (value < 0)
return {};
int start = range.begin - row.begin();
int end = range.end - row.begin();
if (right) {
// row is actually reversed
start = row.size() - 1 - start;
end = row.size() - 1 - end;
}
return {value,
range.begin - row.begin(),
range.end - row.begin(),
{ResultPoint(start, rowNumber), ResultPoint(end, rowNumber)}};
}