本文整理汇总了C++中IntervalTree::findContained方法的典型用法代码示例。如果您正苦于以下问题:C++ IntervalTree::findContained方法的具体用法?C++ IntervalTree::findContained怎么用?C++ IntervalTree::findContained使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IntervalTree
的用法示例。
在下文中一共展示了IntervalTree::findContained方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: partialMerging
static SortedRanges partialMerging(const IntervalTree<ElemChunk> &tree, const dav_size_t mergedist) {
MergedRanges merged;
std::vector<Interval<ElemChunk> > allranges_unsorted;
tree.findContained(0, std::numeric_limits<dav_size_t>::max(), allranges_unsorted);
MergedRanges allranges;
for(std::vector<Interval<ElemChunk> >::iterator it = allranges_unsorted.begin(); it != allranges_unsorted.end(); it++)
allranges.insert(std::make_pair(it->start, it->stop));
dav_off_t offset = allranges.begin()->first;
dav_off_t end = allranges.begin()->second;
for(MergedRanges::iterator it = allranges.begin(); it != allranges.end(); it++) {
if(end + (dav_off_t) mergedist >= it->first) {
end = it->second;
}
else {
merged.insert(std::make_pair(offset, end));
offset = it->first;
end = it->second;
}
}
merged.insert(std::make_pair(offset, end));
SortedRanges output;
for(MergedRanges::iterator it = merged.begin(); it != merged.end(); it++)
output.push_back(*it);
return output;
}