18#include <geos/export.h>
19#include <geos/index/intervalrtree/IntervalRTreeNode.h>
20#include <geos/index/intervalrtree/IntervalRTreeBranchNode.h>
21#include <geos/index/intervalrtree/IntervalRTreeLeafNode.h>
22#include <geos/util/UnsupportedOperationException.h>
52class GEOS_DLL SortedPackedIntervalRTree {
54 std::vector<IntervalRTreeLeafNode> leaves;
55 std::vector<IntervalRTreeBranchNode> branches;
63 const IntervalRTreeNode* root =
nullptr;
67 void buildLevel(IntervalRTreeNode::ConstVect& src, IntervalRTreeNode::ConstVect& dest);
68 const IntervalRTreeNode* buildTree();
72 SortedPackedIntervalRTree() {}
74 SortedPackedIntervalRTree(std::size_t initialCapacity)
76 leaves.reserve(initialCapacity);
88 void insert(
double min,
double max,
void* item) {
93 leaves.emplace_back(min, max, item);
A visitor for items in an index.
Definition ItemVisitor.h:28
void query(double min, double max, index::ItemVisitor *visitor)
void insert(double min, double max, void *item)
Definition SortedPackedIntervalRTree.h:88
Indicates that the requested operation is unsupported.
Definition UnsupportedOperationException.h:35
Contains classes that implement a static index on a set of 1-dimensional intervals,...
Definition IntervalRTreeBranchNode.h:32
Provides classes for various kinds of spatial indexes.
Definition CleanCoverage.h:39
Basic namespace for all GEOS functionalities.
Definition geos.h:38