当前位置: 首页>>代码示例>>C++>>正文


C++ IntervalTree::findContained方法代码示例

本文整理汇总了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;
}
开发者ID:cern-it-sdc-id,项目名称:davix,代码行数:31,代码来源:httpiovec.cpp


注:本文中的IntervalTree::findContained方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。