diff --git a/include/boost/geometry/extensions/index/rtree/visitors/insert.hpp b/include/boost/geometry/extensions/index/rtree/visitors/insert.hpp index 74644c0bc..2823bacf4 100644 --- a/include/boost/geometry/extensions/index/rtree/visitors/insert.hpp +++ b/include/boost/geometry/extensions/index/rtree/visitors/insert.hpp @@ -236,6 +236,8 @@ protected: m_current_level = current_level_bckup; } + // TODO: consider - split result returned as OutIter is faster than reference to the container. Why? + template inline void split(Node & n) const { @@ -248,6 +250,15 @@ protected: BOOST_GEOMETRY_INDEX_ASSERT(additional_nodes.size() == 1, "unexpected number of additional nodes"); + // TODO add all additional nodes + // elements number may be greater than node max elements count + // split and reinsert must take node with some elements count + // and container of additional elements (std::pairs or Values) + // and translator + allocators + // where node_elements_count + additional_elements > node_max_elements_count + // What with elements other than std::pair ??? + // Implement template struct node_element_type or something like that + // node is not the root - just add the new node if ( m_parent != 0 ) {