本文整理汇总了C++中MultiVector::PeekIndices方法的典型用法代码示例。如果您正苦于以下问题:C++ MultiVector::PeekIndices方法的具体用法?C++ MultiVector::PeekIndices怎么用?C++ MultiVector::PeekIndices使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MultiVector
的用法示例。
在下文中一共展示了MultiVector::PeekIndices方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: assert
//---------------------------------------------------------------------------
const std::vector<int> ManyDigitIndexTable::FindInternal(
const std::vector<int>& indices,
const MultiVector<int>& v,
const int value)
{
//Check indices
{
const auto begin = v.PeekIndices().begin();
const auto end = v.PeekIndices().end();
const auto x = std::find(begin,end,value);
if (x!=end)
{
const int index_found = std::distance(begin,x);
assert(index_found >= 0);
assert(index_found < boost::numeric_cast<int>(v.PeekIndices().size()));
std::vector<int> result = indices;
result.push_back(index_found);
return result;
}
}
//Check MultiVector
const auto& mvs = v.PeekMultiVectors();
const int size = mvs.size();
for (int i=0; i!=size; ++i)
{
std::vector<int> indices_deeper = indices;
indices_deeper.push_back(i);
const auto result
= FindInternal(
indices_deeper,mvs[i],value);
if (!result.empty()) return result;
}
return std::vector<int>();
}