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


C++ TreeNode::count方法代码示例

本文整理汇总了C++中TreeNode::count方法的典型用法代码示例。如果您正苦于以下问题:C++ TreeNode::count方法的具体用法?C++ TreeNode::count怎么用?C++ TreeNode::count使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在TreeNode的用法示例。


在下文中一共展示了TreeNode::count方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: near

 /**
  * Return the bounds of a range that includes all the elements that are near specified (x, y).
  *
  * @param  x X-axis coordinate of val.
  * @param  y Y-axis coordinate of val.
  * @return   Pair of iterators that point to the first and the last of the elements that are
  *           near the (x, y) point. If any of given x or y is outside of a QuadTree range (i.e.
  *           x >= startX + width or y >= startY + width), pair of end() is returned.
  */
 std::pair<iterator, iterator> near(double x, double y)
 {
     if (coordinatesAreOk(x, y))
     {
         TreeNode* node = getExistingNode(
             LocationCode<maxLevels>(tr.forward(Coordinates(x, y))));
         return std::pair<iterator, iterator>(
             iterator(node, 0), ++iterator(node, node->count()));
     }
     return std::pair<iterator, iterator>(end(), end());
 }
开发者ID:mgoral,项目名称:geocontainers,代码行数:20,代码来源:QuadTree.hpp

示例2: insert

 iterator insert(StoredObject&& toStore)
 {
     TreeNode* node = getNode(toStore.location);
     if (node->level() > 0)
     {
         // We store one element at time so there will be a moment before node overflow when its
         // count will be equal capacity. Then we'll relocate all its elements to the new child
         // nodes. At worst scenario, all elements will be relocated to the same node, so its
         // count() will be again equal to capacity. The loop ends when at least one element is
         // relocated to the another child node.
         while (node->count() == nodeCapacity && node->level() > 0)
         {
             typename TreeNode::iterator it;
             typename TreeNode::iterator itEnd = node->end();
             for (it = node->begin(); it != itEnd; ++it)
             {
                 node->child(it->location).insert(std::move(*it));
             }
             node->clear();
             node = &(node->child(toStore.location));
         }
     }
     return iterator(node, node->insert(std::move(toStore)));
 }
开发者ID:mgoral,项目名称:geocontainers,代码行数:24,代码来源:QuadTree.hpp


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