From 9c2ff588186601bb213f1719d50d6e64be2f329e Mon Sep 17 00:00:00 2001 From: Adam Wulkiewicz Date: Tue, 29 Mar 2011 18:03:10 +0000 Subject: [PATCH] namespaces hierarchy changed [SVN r70701] --- .../geometry/extensions/index/indexable.hpp | 8 + .../index/rtree/{rtree_node.hpp => node.hpp} | 94 +++++------ .../index/rtree/rstar/choose_next_node.hpp | 102 ++---------- .../rstar/{rtree_insert.hpp => insert.hpp} | 32 ++-- .../extensions/index/rtree/rstar/rstar.hpp | 2 +- .../extensions/index/rtree/rstar/split.hpp | 146 +++++++++--------- .../geometry/extensions/index/rtree/rtree.hpp | 18 +-- ...tree_are_boxes_ok.hpp => are_boxes_ok.hpp} | 24 +-- .../{rtree_delete.hpp => destroy.hpp} | 22 +-- .../visitors/{rtree_find.hpp => find.hpp} | 20 +-- .../index/rtree/visitors/gl_draw.hpp | 49 +++--- .../visitors/{rtree_insert.hpp => insert.hpp} | 14 +- .../{rtree_is_leaf.hpp => is_leaf.hpp} | 18 +-- .../extensions/index/rtree/visitors/print.hpp | 53 ++++--- .../visitors/{rtree_remove.hpp => remove.hpp} | 12 +- tests/additional_glut_vis.cpp | 6 +- 16 files changed, 271 insertions(+), 349 deletions(-) rename include/boost/geometry/extensions/index/rtree/{rtree_node.hpp => node.hpp} (56%) rename include/boost/geometry/extensions/index/rtree/rstar/{rtree_insert.hpp => insert.hpp} (69%) rename include/boost/geometry/extensions/index/rtree/visitors/{rtree_are_boxes_ok.hpp => are_boxes_ok.hpp} (76%) rename include/boost/geometry/extensions/index/rtree/visitors/{rtree_delete.hpp => destroy.hpp} (56%) rename include/boost/geometry/extensions/index/rtree/visitors/{rtree_find.hpp => find.hpp} (70%) rename include/boost/geometry/extensions/index/rtree/visitors/{rtree_insert.hpp => insert.hpp} (58%) rename include/boost/geometry/extensions/index/rtree/visitors/{rtree_is_leaf.hpp => is_leaf.hpp} (54%) rename include/boost/geometry/extensions/index/rtree/visitors/{rtree_remove.hpp => remove.hpp} (60%) diff --git a/include/boost/geometry/extensions/index/indexable.hpp b/include/boost/geometry/extensions/index/indexable.hpp index 05a8ded9b..932bf9a92 100644 --- a/include/boost/geometry/extensions/index/indexable.hpp +++ b/include/boost/geometry/extensions/index/indexable.hpp @@ -108,6 +108,14 @@ struct dimension >::value; }; +template +struct tag +{ + typedef typename geometry::traits::tag< + Indexable + >::type type; +}; + } // namespace traits namespace dispatch { diff --git a/include/boost/geometry/extensions/index/rtree/rtree_node.hpp b/include/boost/geometry/extensions/index/rtree/node.hpp similarity index 56% rename from include/boost/geometry/extensions/index/rtree/rtree_node.hpp rename to include/boost/geometry/extensions/index/rtree/node.hpp index a7129922e..53b74ff23 100644 --- a/include/boost/geometry/extensions/index/rtree/rtree_node.hpp +++ b/include/boost/geometry/extensions/index/rtree/node.hpp @@ -8,28 +8,28 @@ // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) -#ifndef BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_DEFAULT_NODE_HPP -#define BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_DEFAULT_NODE_HPP +#ifndef BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_NODE_HPP +#define BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_NODE_HPP #include #include namespace boost { namespace geometry { namespace index { -namespace detail { +namespace detail { namespace rtree { template -struct rtree_node; +struct node; // nodes default types template -struct rtree_internal_node_def +struct internal_node_def { typedef std::vector< std::pair< Box, - typename rtree_node::type * + typename node::type * > > children_type; @@ -37,7 +37,7 @@ struct rtree_internal_node_def }; template -struct rtree_leaf_def +struct leaf_def { typedef std::vector values_type; values_type values; @@ -46,63 +46,63 @@ struct rtree_leaf_def // nodes traits template -struct rtree_node +struct node { typedef boost::variant< - rtree_leaf_def, - rtree_internal_node_def + leaf_def, + internal_node_def > type; }; template -struct rtree_internal_node +struct internal_node { - typedef rtree_internal_node_def type; + typedef internal_node_def type; }; template -struct rtree_leaf +struct leaf { - typedef rtree_leaf_def type; + typedef leaf_def type; }; // nodes elements extractor template -struct rtree_elements_type +struct elements_type { typedef typename Node::elements_type type; }; template -struct rtree_elements_type< rtree_internal_node_def > +struct elements_type< internal_node_def > { - typedef typename rtree_internal_node_def::children_type type; + typedef typename internal_node_def::children_type type; }; template -struct rtree_elements_type< rtree_leaf_def > +struct elements_type< leaf_def > { - typedef typename rtree_leaf_def::values_type type; + typedef typename leaf_def::values_type type; }; template -typename rtree_elements_type::type & -rtree_elements_get(Node & n) +typename elements_type::type & +elements_get(Node & n) { return n.elements; } template -typename rtree_internal_node_def::children_type & -rtree_elements_get(rtree_internal_node_def & n) +typename internal_node_def::children_type & +elements_get(internal_node_def & n) { return n.children; } template -typename rtree_leaf_def::values_type & -rtree_elements_get(rtree_leaf_def & n) +typename leaf_def::values_type & +elements_get(leaf_def & n) { return n.values; } @@ -110,18 +110,18 @@ rtree_elements_get(rtree_leaf_def & n) // uniform indexable type for child node element's box and value's indexable template -struct rtree_element_indexable_type +struct element_indexable_type { typedef typename Translator::indexable_type type; }; template -struct rtree_element_indexable_type< +struct element_indexable_type< std::pair< Box, boost::variant< - rtree_leaf_def, - rtree_internal_node_def + leaf_def, + internal_node_def > * >, Translator @@ -134,12 +134,12 @@ struct rtree_element_indexable_type< template Box const& -rtree_element_indexable( +element_indexable( std::pair< Box, boost::variant< - rtree_leaf_def, - rtree_internal_node_def + leaf_def, + internal_node_def > * > const& el, Translator const&) @@ -149,7 +149,7 @@ rtree_element_indexable( template typename Translator::indexable_type const& -rtree_element_indexable(Value const& el, Translator const& tr) +element_indexable(Value const& el, Translator const& tr) { return tr(el); }; @@ -157,7 +157,7 @@ rtree_element_indexable(Value const& el, Translator const& tr) // elements box template -inline Box rtree_elements_box(FwdIter first, FwdIter last, Translator const& tr) +inline Box elements_box(FwdIter first, FwdIter last, Translator const& tr) { Box result; @@ -167,11 +167,11 @@ inline Box rtree_elements_box(FwdIter first, FwdIter last, Translator const& tr) return result; } - geometry::convert(index::detail::rtree_element_indexable(*first, tr), result); + geometry::convert(element_indexable(*first, tr), result); ++first; for ( ; first != last ; ++first ) - geometry::expand(result, index::detail::rtree_element_indexable(*first, tr)); + geometry::expand(result, element_indexable(*first, tr)); return result; } @@ -179,10 +179,10 @@ inline Box rtree_elements_box(FwdIter first, FwdIter last, Translator const& tr) // create leaf node template -typename rtree_node::type * -rtree_create_node(rtree_leaf_def const& l) +typename node::type * +create_node(leaf_def const& l) { - typedef typename rtree_node::type node; + typedef typename node::type node; node * n = new node(l); return n; } @@ -190,10 +190,10 @@ rtree_create_node(rtree_leaf_def const& l) // create internal node template -typename rtree_node::type * -rtree_create_node(rtree_internal_node_def const& in) +typename node::type * +create_node(internal_node_def const& in) { - typedef typename rtree_node::type node; + typedef typename node::type node; node * n = new node(in); return n; } @@ -201,17 +201,17 @@ rtree_create_node(rtree_internal_node_def const& in) // default node template -void rtree_delete_node( +void delete_node( boost::variant< - rtree_leaf_def, - rtree_internal_node_def + leaf_def, + internal_node_def > * n) { delete n; } -} // namespace detail +}} // namespace detail::rtree }}} // namespace boost::geometry::index -#endif // BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_DEFAULT_NODE_HPP +#endif // BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_NODE_HPP diff --git a/include/boost/geometry/extensions/index/rtree/rstar/choose_next_node.hpp b/include/boost/geometry/extensions/index/rtree/rstar/choose_next_node.hpp index 11ca1a2d3..bc6cd04ab 100644 --- a/include/boost/geometry/extensions/index/rtree/rstar/choose_next_node.hpp +++ b/include/boost/geometry/extensions/index/rtree/rstar/choose_next_node.hpp @@ -16,103 +16,19 @@ #include #include -#include -#include +#include +#include namespace boost { namespace geometry { namespace index { -namespace visitors { - -struct rtree_rstar_chnn_min_overlap_cost {}; -struct rtree_rstar_chnn_nearly_min_overlap_cost {}; - -// TODO: awulkiew - it's possible that goodness values may be used to choose next node -// on this step some of the goodness values would be calculated (not all) -// and only for some nodes (goodness values should be calculated only if there is an overflow) - -template -class rtree_rstar_choose_next_node -{}; - -// TODO: awulkiew finish this version -// use min_element instead of searching by myself - -//template -//class rtree_rstar_choose_next_node -//{ -// typedef typename index::detail::rtree_node::type node; -// typedef typename index::detail::rtree_internal_node::type internal_node; -// typedef typename index::detail::rtree_leaf::type leaf; -// -// typedef typename internal_node::children_type children_type; -// -//public: -// template -// static inline size_t apply(internal_node & n, Indexable const& indexable) -// { -// assert(!n.children.empty()); -// -// bool has_leaves = boost::apply_visitor( -// visitors::rtree_is_leaf(), -// *n.children.front().second); -// -// if ( !has_leaves ) -// return impl(n, indexable); -// else -// return impl(n, indexable); -// } -// -//private: -// template -// static inline size_t impl(internal_node & n, Indexable const& indexable) -// { -// } -// -//}; - -//template -//typename index::area_result< -// typename detail::rtree_element_indexable_type< -// typename std::iterator_traits::value_type, -// Translator -// >::type -//>::type calculate_elements_overlap(ElIter el, ElIter first, ElIter last, Translator const& tr) -//{ -// typedef typename detail::rtree_element_indexable_type< -// typename std::iterator_traits::value_type, -// Translator -// >::type box_type; -// typedef typename index::area_result::type area_type; -// -// area_type result = 0; -// -// for ( ; first != last ; ++first ) -// { -// if ( first != el ) -// { -// box_type inters; -// geometry::assign_zero(inters); -// geometry::intersection( -// detail::rtree_element_indexable(*first, tr), -// detail::rtree_element_indexable(*el, tr), -// inters); -// result += index::area(inters); -// } -// } -// return result; -//} - -// TODO: awulkiew - wrong algorithm? Should branch check be applied to Leafs? -// TODO: awulkiew - further optimization: don't calculate area with the overlap, calculate it only if -// overlap < smallest_overlap (and current area must be stored) OR -// overlap == smallest_overlap (and area must be compared) +namespace detail { namespace rtree { namespace rstar { template -class rtree_rstar_choose_next_node +class choose_next_node { - typedef typename index::detail::rtree_node::type node; - typedef typename index::detail::rtree_internal_node::type internal_node; - typedef typename index::detail::rtree_leaf::type leaf; + typedef typename rtree::node::type node; + typedef typename rtree::internal_node::type internal_node; + typedef typename rtree::leaf::type leaf; typedef typename internal_node::children_type children_type; @@ -123,7 +39,7 @@ public: assert(!n.children.empty()); bool has_leaves = boost::apply_visitor( - visitors::rtree_is_leaf(), + visitors::is_leaf(), *n.children.front().second); if ( !has_leaves ) @@ -211,7 +127,7 @@ private: }; }; -} // namespace visitors +}}} // namespace detail::rtree:rstar }}} // namespace boost::geometry::index diff --git a/include/boost/geometry/extensions/index/rtree/rstar/rtree_insert.hpp b/include/boost/geometry/extensions/index/rtree/rstar/insert.hpp similarity index 69% rename from include/boost/geometry/extensions/index/rtree/rstar/rtree_insert.hpp rename to include/boost/geometry/extensions/index/rtree/rstar/insert.hpp index 3e317a3f4..682247fb4 100644 --- a/include/boost/geometry/extensions/index/rtree/rstar/rtree_insert.hpp +++ b/include/boost/geometry/extensions/index/rtree/rstar/insert.hpp @@ -7,8 +7,8 @@ // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) -#ifndef BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_RSTAR_RTREE_INSERT_HPP -#define BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_RSTAR_RTREE_INSERT_HPP +#ifndef BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_RSTAR_INSERT_HPP +#define BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_RSTAR_INSERT_HPP #include @@ -19,26 +19,26 @@ #include #include -#include -#include -#include +#include +#include +#include #include #include namespace boost { namespace geometry { namespace index { -namespace visitors { +namespace detail { namespace rtree { namespace visitors { template -class rtree_insert : public boost::static_visitor<> +class insert : public boost::static_visitor<> { - typedef typename index::detail::rtree_node::type node; - typedef typename index::detail::rtree_internal_node::type internal_node; - typedef typename index::detail::rtree_leaf::type leaf; + typedef typename rtree::node::type node; + typedef typename rtree::internal_node::type internal_node; + typedef typename rtree::leaf::type leaf; public: - inline explicit rtree_insert(node* & root, Value const& v, size_t min_elements, size_t max_elements, Translator const& t) + inline explicit insert(node* & root, Value const& v, size_t min_elements, size_t max_elements, Translator const& t) : m_value(v), m_tr(t), m_min_elems_per_node(min_elements), m_max_elems_per_node(max_elements) , m_root_node(root) , m_parent(0), m_current_child_index(0) @@ -53,7 +53,7 @@ public: // choose next node, where value insert traversing should go m_current_child_index = - rtree_rstar_choose_next_node:: + rstar::choose_next_node:: apply(n, m_tr(m_value)); // TODO: awulkiew - if reinsert is implemented this must be changed @@ -68,7 +68,7 @@ public: if ( m_max_elems_per_node < n.children.size() ) { - rtree_rstar_split:: + rstar::split:: apply(n, m_parent, m_current_child_index, m_root_node, m_min_elems_per_node, m_max_elems_per_node, m_tr); } } @@ -79,7 +79,7 @@ public: if ( m_max_elems_per_node < n.values.size() ) { - rtree_rstar_split:: + rstar::split:: apply(n, m_parent, m_current_child_index, m_root_node, m_min_elems_per_node, m_max_elems_per_node, m_tr); } } @@ -97,8 +97,8 @@ private: size_t m_current_child_index; }; -} // namespace visitors +}}} // namespace detail::rtree::visitors }}} // namespace boost::geometry::index -#endif // BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_RSTAR_RTREE_INSERT_HPP +#endif // BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_RSTAR_INSERT_HPP diff --git a/include/boost/geometry/extensions/index/rtree/rstar/rstar.hpp b/include/boost/geometry/extensions/index/rtree/rstar/rstar.hpp index d5d218195..b4106b341 100644 --- a/include/boost/geometry/extensions/index/rtree/rstar/rstar.hpp +++ b/include/boost/geometry/extensions/index/rtree/rstar/rstar.hpp @@ -11,6 +11,6 @@ #define BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_RSTAR_RSTAR_HPP #include -#include +#include #endif // BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_RSTAR_RSTAR_HPP diff --git a/include/boost/geometry/extensions/index/rtree/rstar/split.hpp b/include/boost/geometry/extensions/index/rtree/rstar/split.hpp index d0ee35322..2e25ae12b 100644 --- a/include/boost/geometry/extensions/index/rtree/rstar/split.hpp +++ b/include/boost/geometry/extensions/index/rtree/rstar/split.hpp @@ -19,22 +19,22 @@ #include #include -#include -#include -#include +#include +#include +#include namespace boost { namespace geometry { namespace index { -namespace visitors { +namespace detail { namespace rtree { namespace rstar { // elements less template -class rtree_rstar_elements_less +class elements_less { typedef typename Elements::value_type element_type; public: - inline rtree_rstar_elements_less(Translator const& tr) + inline elements_less(Translator const& tr) : m_tr(tr) {} @@ -42,11 +42,11 @@ public: { return index::get( - index::detail::rtree_element_indexable(e1, m_tr) + rtree::element_indexable(e1, m_tr) ) < index::get( - index::detail::rtree_element_indexable(e2, m_tr) + rtree::element_indexable(e2, m_tr) ); } @@ -57,13 +57,13 @@ private: // rstar split axis data template -struct rtree_rstar_split_axis_data +struct split_axis_data { typedef typename margin_result::type margin_type; typedef typename overlap_result::type overlap_type; typedef typename area_result::type area_type; - inline rtree_rstar_split_axis_data() + inline split_axis_data() : margins_sum(0) , smallest_overlap(std::numeric_limits::max()) , smallest_area(std::numeric_limits::max()) @@ -104,18 +104,18 @@ struct rtree_rstar_split_axis_data // update axis data for given axis and corner template -class rtree_rstar_split_update_axis_data_for_corner +class split_update_axis_data_for_corner { - typedef typename rtree_rstar_split_axis_data::margin_type margin_type; - typedef typename rtree_rstar_split_axis_data::overlap_type overlap_type; - typedef typename rtree_rstar_split_axis_data::area_type area_type; + typedef typename split_axis_data::margin_type margin_type; + typedef typename split_axis_data::overlap_type overlap_type; + typedef typename split_axis_data::area_type area_type; BOOST_STATIC_ASSERT(Corner < 2); public: template static inline void apply( - rtree_rstar_split_axis_data & split_axis_data, + split_axis_data & sad, Elements const& sorted_elements, size_t min_elems, size_t max_elems, @@ -124,14 +124,14 @@ public: size_t median_index_last = max_elems - min_elems + 2; for ( size_t median_index = min_elems ; median_index < median_index_last ; ++median_index ) { - Box left_box = index::detail::rtree_elements_box(sorted_elements.begin(), sorted_elements.begin() + median_index, tr); - Box right_box = index::detail::rtree_elements_box(sorted_elements.begin() + median_index, sorted_elements.end(), tr); + Box left_box = rtree::elements_box(sorted_elements.begin(), sorted_elements.begin() + median_index, tr); + Box right_box = rtree::elements_box(sorted_elements.begin() + median_index, sorted_elements.end(), tr); margin_type margin = index::margin(left_box) + index::margin(right_box); overlap_type overlap = index::overlap(left_box, right_box); area_type area = index::area(left_box) + index::area(right_box); - split_axis_data.update(Corner, median_index, left_box, right_box, margin, overlap, area); + sad.update(Corner, median_index, left_box, right_box, margin, overlap, area); } } }; @@ -139,13 +139,13 @@ public: // split data template -struct rtree_rstar_split_data +struct split_data { typedef typename margin_result::type margin_type; typedef typename overlap_result::type overlap_type; typedef typename area_result::type area_type; - inline rtree_rstar_split_data() + inline split_data() : smallest_margins_sum(std::numeric_limits::max()) {} @@ -182,36 +182,36 @@ struct rtree_rstar_split_data // update split data for given axis and corner template -class rtree_rstar_split_update_data_for_axis_and_corner +class split_update_data_for_axis_and_corner { - typedef typename rtree_rstar_split_axis_data::margin_type margin_type; - typedef typename rtree_rstar_split_axis_data::overlap_type overlap_type; - typedef typename rtree_rstar_split_axis_data::area_type area_type; + typedef typename split_axis_data::margin_type margin_type; + typedef typename split_axis_data::overlap_type overlap_type; + typedef typename split_axis_data::area_type area_type; public: template static inline void apply( - rtree_rstar_split_data & split_data, + split_data & split_data, Elements & elements, size_t min_elems, size_t max_elems, Translator const& tr) { - rtree_rstar_split_axis_data split_axis_data; + split_axis_data sad; - rtree_rstar_elements_less less_min(tr); + elements_less less_min(tr); std::sort(elements.begin(), elements.end(), less_min); - rtree_rstar_split_update_axis_data_for_corner:: - apply(split_axis_data, elements, min_elems, max_elems, tr); + split_update_axis_data_for_corner:: + apply(sad, elements, min_elems, max_elems, tr); split_data.update( AxisIndex, - split_axis_data.choosen_corner, - split_axis_data.choosen_median_index, - split_axis_data.choosen_left_box, - split_axis_data.choosen_right_box, - split_axis_data.margins_sum, + sad.choosen_corner, + sad.choosen_median_index, + sad.choosen_left_box, + sad.choosen_right_box, + sad.margins_sum, elements); } }; @@ -219,54 +219,54 @@ public: // for each dimension and corner update split data template -struct rtree_rstar_split_update_data +struct split_update_data { BOOST_STATIC_ASSERT(0 < Dimension); template static inline void apply( - rtree_rstar_split_data & split_data, + split_data & sd, Elements & elements, size_t min_elems, size_t max_elems, Translator const& tr) { - rtree_rstar_split_update_data:: - apply(split_data, elements, min_elems, max_elems, tr); + split_update_data:: + apply(sd, elements, min_elems, max_elems, tr); - rtree_rstar_split_update_data_for_axis_and_corner:: - apply(split_data, elements, min_elems, max_elems, tr); - rtree_rstar_split_update_data_for_axis_and_corner:: - apply(split_data, elements, min_elems, max_elems, tr); + split_update_data_for_axis_and_corner:: + apply(sd, elements, min_elems, max_elems, tr); + split_update_data_for_axis_and_corner:: + apply(sd, elements, min_elems, max_elems, tr); } }; template -struct rtree_rstar_split_update_data +struct split_update_data { template static inline void apply( - rtree_rstar_split_data & split_data, + split_data & sd, Elements & elements, size_t min_elems, size_t max_elems, Translator const& tr) { - rtree_rstar_split_update_data_for_axis_and_corner:: - apply(split_data, elements, min_elems, max_elems, tr); - rtree_rstar_split_update_data_for_axis_and_corner:: - apply(split_data, elements, min_elems, max_elems, tr); + split_update_data_for_axis_and_corner:: + apply(sd, elements, min_elems, max_elems, tr); + split_update_data_for_axis_and_corner:: + apply(sd, elements, min_elems, max_elems, tr); } }; // split template -class rtree_rstar_split +class split { - typedef typename index::detail::rtree_node::type node; - typedef typename index::detail::rtree_internal_node::type internal_node; - typedef typename index::detail::rtree_leaf::type leaf; + typedef typename rtree::node::type node; + typedef typename rtree::internal_node::type internal_node; + typedef typename rtree::leaf::type leaf; static const size_t dimension = index::traits::dimension::value; @@ -281,62 +281,62 @@ public: size_t max_elems, Translator const& tr) { - typedef typename index::detail::rtree_elements_type::type elements_type; + typedef typename rtree::elements_type::type elements_type; typedef typename elements_type::value_type element_type; - elements_type & elements = index::detail::rtree_elements_get(n); + elements_type & elements = rtree::elements_get(n); assert(elements.size() == max_elems + 1); // get split data - rtree_rstar_split_data split_data; - rtree_rstar_split_update_data:: - apply(split_data, elements, min_elems, max_elems, tr); + split_data sd; + split_update_data:: + apply(sd, elements, min_elems, max_elems, tr); - assert(min_elems <= split_data.choosen_median_index); - assert(split_data.choosen_median_index <= max_elems + 1 - min_elems); + assert(min_elems <= sd.choosen_median_index); + assert(sd.choosen_median_index <= max_elems + 1 - min_elems); // create new node - node * right_node = rtree_create_node(Node()); - elements_type & new_elems = index::detail::rtree_elements_get(boost::get(*right_node)); + node * right_node = rtree::create_node(Node()); + elements_type & new_elems = rtree::elements_get(boost::get(*right_node)); // update new node's elements - new_elems.resize(max_elems + 1 - split_data.choosen_median_index); + new_elems.resize(max_elems + 1 - sd.choosen_median_index); std::copy( - split_data.choosen_distribution.begin() + split_data.choosen_median_index, - split_data.choosen_distribution.end(), + sd.choosen_distribution.begin() + sd.choosen_median_index, + sd.choosen_distribution.end(), new_elems.begin()); // update elements of the current node - elements.resize(split_data.choosen_median_index); + elements.resize(sd.choosen_median_index); std::copy( - split_data.choosen_distribution.begin(), - split_data.choosen_distribution.begin() + split_data.choosen_median_index, + sd.choosen_distribution.begin(), + sd.choosen_distribution.begin() + sd.choosen_median_index, elements.begin()); if ( parent != 0 ) { // update old node's box - parent->children[current_child_index].first = split_data.choosen_left_box; + parent->children[current_child_index].first = sd.choosen_left_box; // add new node to the parent's children - parent->children.push_back(std::make_pair(split_data.choosen_right_box, right_node)); + parent->children.push_back(std::make_pair(sd.choosen_right_box, right_node)); } else { assert(&n == boost::get(root)); // create new root and add nodes - node * new_root = rtree_create_node(internal_node()); + node * new_root = rtree::create_node(internal_node()); - boost::get(*new_root).children.push_back(std::make_pair(split_data.choosen_left_box, root)); - boost::get(*new_root).children.push_back(std::make_pair(split_data.choosen_right_box, right_node)); + boost::get(*new_root).children.push_back(std::make_pair(sd.choosen_left_box, root)); + boost::get(*new_root).children.push_back(std::make_pair(sd.choosen_right_box, right_node)); root = new_root; } } }; -} // namespace visitors +}}} // namespace detail::rtree:rstar }}} // namespace boost::geometry::index diff --git a/include/boost/geometry/extensions/index/rtree/rtree.hpp b/include/boost/geometry/extensions/index/rtree/rtree.hpp index efb821fc0..6a0fae593 100644 --- a/include/boost/geometry/extensions/index/rtree/rtree.hpp +++ b/include/boost/geometry/extensions/index/rtree/rtree.hpp @@ -15,8 +15,8 @@ #include -#include -#include +#include +#include #include @@ -37,9 +37,9 @@ public: typedef typename detail::geometry_box_type::type box_type; typedef Tag tag_type; - typedef typename detail::rtree_node::type node; - typedef typename detail::rtree_internal_node::type internal_node; - typedef typename detail::rtree_leaf::type leaf; + typedef typename detail::rtree::node::type node; + typedef typename detail::rtree::internal_node::type internal_node; + typedef typename detail::rtree::leaf::type leaf; inline explicit rtree( size_t max_elems_per_node = 2, @@ -57,26 +57,26 @@ public: if ( m_max_elems_per_node < 2 ) m_max_elems_per_node = 2; - m_root = detail::rtree_create_node(leaf()); + m_root = detail::rtree::create_node(leaf()); } ~rtree() { - visitors::rtree_delete del_v; + detail::rtree::visitors::destroy del_v; boost::apply_visitor(del_v, *m_root); } template inline std::vector find(Geometry const& geom) const { - visitors::rtree_find find_v(geom, m_translator); + detail::rtree::visitors::find find_v(geom, m_translator); boost::apply_visitor(find_v, *m_root); return find_v.result; } void insert(value_type const& value) { - visitors::rtree_insert + detail::rtree::visitors::insert insert_v(m_root, value, m_min_elems_per_node, m_max_elems_per_node, m_translator); boost::apply_visitor(insert_v, *m_root); diff --git a/include/boost/geometry/extensions/index/rtree/visitors/rtree_are_boxes_ok.hpp b/include/boost/geometry/extensions/index/rtree/visitors/are_boxes_ok.hpp similarity index 76% rename from include/boost/geometry/extensions/index/rtree/visitors/rtree_are_boxes_ok.hpp rename to include/boost/geometry/extensions/index/rtree/visitors/are_boxes_ok.hpp index 2e7c0d755..c83ac16fc 100644 --- a/include/boost/geometry/extensions/index/rtree/visitors/rtree_are_boxes_ok.hpp +++ b/include/boost/geometry/extensions/index/rtree/visitors/are_boxes_ok.hpp @@ -7,24 +7,24 @@ // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) -#ifndef BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_VISITORS_RTREE_ARE_BOXES_OK_HPP -#define BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_VISITORS_RTREE_ARE_BOXES_OK_HPP +#ifndef BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_VISITORS_ARE_BOXES_OK_HPP +#define BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_VISITORS_ARE_BOXES_OK_HPP #include -#include +#include namespace boost { namespace geometry { namespace index { -namespace visitors { +namespace detail { namespace rtree { namespace visitors { template -class rtree_are_boxes_ok : public boost::static_visitor +class are_boxes_ok : public boost::static_visitor { - typedef typename index::detail::rtree_internal_node::type internal_node; - typedef typename index::detail::rtree_leaf::type leaf; + typedef typename rtree::internal_node::type internal_node; + typedef typename rtree::leaf::type leaf; public: - inline rtree_are_boxes_ok(Translator const& tr) + inline are_boxes_ok(Translator const& tr) : m_tr(tr), m_is_root(true) {} @@ -83,13 +83,13 @@ private: bool m_is_root; }; -} // namespace visitors +}}} // namespace detail::rtree::visitors template -bool rtree_are_boxes_ok(rtree const& tree) +bool are_boxes_ok(rtree const& tree) { typedef rtree rt; - visitors::rtree_are_boxes_ok< + detail::rtree::visitors::are_boxes_ok< typename rt::value_type, typename rt::translator_type, typename rt::box_type, @@ -100,4 +100,4 @@ bool rtree_are_boxes_ok(rtree const& tree) }}} // namespace boost::geometry::index -#endif // BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_VISITORS_RTREE_ARE_BOXES_OK_HPP +#endif // BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_VISITORS_ARE_BOXES_OK_HPP diff --git a/include/boost/geometry/extensions/index/rtree/visitors/rtree_delete.hpp b/include/boost/geometry/extensions/index/rtree/visitors/destroy.hpp similarity index 56% rename from include/boost/geometry/extensions/index/rtree/visitors/rtree_delete.hpp rename to include/boost/geometry/extensions/index/rtree/visitors/destroy.hpp index 549200df5..71af3b99c 100644 --- a/include/boost/geometry/extensions/index/rtree/visitors/rtree_delete.hpp +++ b/include/boost/geometry/extensions/index/rtree/visitors/destroy.hpp @@ -1,26 +1,26 @@ // Boost.Geometry (aka GGL, Generic Geometry Library) // -// Boost.Index - R-tree delete visitor +// Boost.Index - R-tree destroy visitor // // Copyright 2011 Adam Wulkiewicz. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) -#ifndef BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_VISITORS_RTREE_DELETE_HPP -#define BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_VISITORS_RTREE_DELETE_HPP +#ifndef BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_VISITORS_DELETE_HPP +#define BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_VISITORS_DELETE_HPP -#include +#include namespace boost { namespace geometry { namespace index { -namespace visitors { +namespace detail { namespace rtree { namespace visitors { template -struct rtree_delete : public boost::static_visitor<> +struct destroy : public boost::static_visitor<> { - typedef typename index::detail::rtree_internal_node::type internal_node; - typedef typename index::detail::rtree_leaf::type leaf; + typedef typename rtree::internal_node::type internal_node; + typedef typename rtree::leaf::type leaf; inline void operator()(internal_node & n) const { @@ -31,7 +31,7 @@ struct rtree_delete : public boost::static_visitor<> { boost::apply_visitor(*this, *it->second); - index::detail::rtree_delete_node(it->second); + rtree::delete_node(it->second); } } @@ -40,8 +40,8 @@ struct rtree_delete : public boost::static_visitor<> } }; -} // namespace visitors +}}} // namespace detail::rtree::visitors }}} // namespace boost::geometry::index -#endif // BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_VISITORS_RTREE_DELETE_HPP +#endif // BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_VISITORS_DELETE_HPP diff --git a/include/boost/geometry/extensions/index/rtree/visitors/rtree_find.hpp b/include/boost/geometry/extensions/index/rtree/visitors/find.hpp similarity index 70% rename from include/boost/geometry/extensions/index/rtree/visitors/rtree_find.hpp rename to include/boost/geometry/extensions/index/rtree/visitors/find.hpp index d1fe369c6..004d68417 100644 --- a/include/boost/geometry/extensions/index/rtree/visitors/rtree_find.hpp +++ b/include/boost/geometry/extensions/index/rtree/visitors/find.hpp @@ -7,26 +7,26 @@ // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) -#ifndef BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_VISITORS_RTREE_FIND_HPP -#define BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_VISITORS_RTREE_FIND_HPP +#ifndef BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_VISITORS_FIND_HPP +#define BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_VISITORS_FIND_HPP #include -#include +#include namespace boost { namespace geometry { namespace index { -namespace visitors { +namespace detail { namespace rtree { namespace visitors { // rtree spatial query visitor template -struct rtree_find : public boost::static_visitor<> +struct find : public boost::static_visitor<> { - typedef typename index::detail::rtree_internal_node::type internal_node; - typedef typename index::detail::rtree_leaf::type leaf; + typedef typename rtree::internal_node::type internal_node; + typedef typename rtree::leaf::type leaf; - inline rtree_find(Geometry const& g, Translator const& t) + inline find(Geometry const& g, Translator const& t) : geom(g), tr(t) {} @@ -59,8 +59,8 @@ struct rtree_find : public boost::static_visitor<> std::vector result; }; -} // namespace visitors +}}} // namespace detail::rtree::visitors }}} // namespace boost::geometry::index -#endif // BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_VISITORS_RTREE_FIND_HPP +#endif // BOOST_GEOMETRY_EXTENSIONS_INDEX_VISITORS_FIND_HPP diff --git a/include/boost/geometry/extensions/index/rtree/visitors/gl_draw.hpp b/include/boost/geometry/extensions/index/rtree/visitors/gl_draw.hpp index 6f9c45ab6..c8b2c0f6b 100644 --- a/include/boost/geometry/extensions/index/rtree/visitors/gl_draw.hpp +++ b/include/boost/geometry/extensions/index/rtree/visitors/gl_draw.hpp @@ -12,20 +12,20 @@ #include -#include +#include namespace boost { namespace geometry { namespace index { -namespace visitors { +namespace detail { namespace rtree { namespace visitors { namespace dispatch { template -struct rtree_gl_draw_point +struct gl_draw_point {}; template -struct rtree_gl_draw_point +struct gl_draw_point { static inline void apply(Point const& p, size_t level) { @@ -36,11 +36,11 @@ struct rtree_gl_draw_point }; template -struct rtree_gl_draw_box +struct gl_draw_box {}; template -struct rtree_gl_draw_box +struct gl_draw_box { static inline void apply(Box const& b, size_t level) { @@ -54,30 +54,29 @@ struct rtree_gl_draw_box }; template -struct rtree_gl_draw_indexable +struct gl_draw_indexable { }; template -struct rtree_gl_draw_indexable +struct gl_draw_indexable { - typedef typename geometry::traits::point_type::type point_type; - static const size_t dimension = geometry::traits::dimension::value; + static const size_t dimension = index::traits::dimension::value; static inline void apply(Indexable const& i, size_t level) { - rtree_gl_draw_box::apply(i, level); + gl_draw_box::apply(i, level); } }; template -struct rtree_gl_draw_indexable +struct gl_draw_indexable { - static const size_t dimension = geometry::traits::dimension::value; + static const size_t dimension = index::traits::dimension::value; static inline void apply(Indexable const& i, size_t level) { - rtree_gl_draw_point::apply(i, level); + gl_draw_point::apply(i, level); } }; @@ -86,23 +85,23 @@ struct rtree_gl_draw_indexable namespace detail { template -inline void rtree_gl_draw_indexable(Indexable const& i, size_t level) +inline void gl_draw_indexable(Indexable const& i, size_t level) { - dispatch::rtree_gl_draw_indexable< + dispatch::gl_draw_indexable< Indexable, - typename geometry::traits::tag::type + typename index::traits::tag::type >::apply(i, level); } } // namespace detail template -struct rtree_gl_draw : public boost::static_visitor<> +struct gl_draw : public boost::static_visitor<> { - typedef typename index::detail::rtree_internal_node::type internal_node; - typedef typename index::detail::rtree_leaf::type leaf; + typedef typename rtree::internal_node::type internal_node; + typedef typename rtree::leaf::type leaf; - inline rtree_gl_draw(Translator const& t) + inline gl_draw(Translator const& t) : tr(t), level(0) {} @@ -128,7 +127,7 @@ struct rtree_gl_draw : public boost::static_visitor<> for (typename children_type::const_iterator it = n.children.begin(); it != n.children.end(); ++it) { - detail::rtree_gl_draw_indexable(it->first, level); + detail::gl_draw_indexable(it->first, level); } size_t level_backup = level; @@ -152,7 +151,7 @@ struct rtree_gl_draw : public boost::static_visitor<> for (typename values_type::const_iterator it = n.values.begin(); it != n.values.end(); ++it) { - detail::rtree_gl_draw_indexable(tr(*it), level); + detail::gl_draw_indexable(tr(*it), level); } } @@ -161,7 +160,7 @@ struct rtree_gl_draw : public boost::static_visitor<> size_t level; }; -} // namespace visitors +}}} // namespace detail::rtree::visitors template void gl_draw(rtree const& tree) @@ -173,7 +172,7 @@ void gl_draw(rtree const& tree) glClear(GL_COLOR_BUFFER_BIT); - visitors::rtree_gl_draw gl_draw_v(tree.get_translator()); + detail::rtree::visitors::gl_draw gl_draw_v(tree.get_translator()); tree.apply_visitor(gl_draw_v); glFlush(); diff --git a/include/boost/geometry/extensions/index/rtree/visitors/rtree_insert.hpp b/include/boost/geometry/extensions/index/rtree/visitors/insert.hpp similarity index 58% rename from include/boost/geometry/extensions/index/rtree/visitors/rtree_insert.hpp rename to include/boost/geometry/extensions/index/rtree/visitors/insert.hpp index 6317255e5..f4fe164ab 100644 --- a/include/boost/geometry/extensions/index/rtree/visitors/rtree_insert.hpp +++ b/include/boost/geometry/extensions/index/rtree/visitors/insert.hpp @@ -7,23 +7,23 @@ // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) -#ifndef BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_VISITORS_RTREE_INSERT_HPP -#define BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_VISITORS_RTREE_INSERT_HPP +#ifndef BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_VISITORS_INSERT_HPP +#define BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_VISITORS_INSERT_HPP -#include +#include namespace boost { namespace geometry { namespace index { -namespace visitors { +namespace detail { namespace rtree { namespace visitors { template -struct rtree_insert +struct insert { // not implemented here }; -} // namespace visitors +}}} // namespace detail::rtree::visitors }}} // namespace boost::geometry::index -#endif // BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_VISITORS_RTREE_INSERT_HPP +#endif // BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_VISITORS_INSERT_HPP diff --git a/include/boost/geometry/extensions/index/rtree/visitors/rtree_is_leaf.hpp b/include/boost/geometry/extensions/index/rtree/visitors/is_leaf.hpp similarity index 54% rename from include/boost/geometry/extensions/index/rtree/visitors/rtree_is_leaf.hpp rename to include/boost/geometry/extensions/index/rtree/visitors/is_leaf.hpp index 50d6947f9..ef8a65249 100644 --- a/include/boost/geometry/extensions/index/rtree/visitors/rtree_is_leaf.hpp +++ b/include/boost/geometry/extensions/index/rtree/visitors/is_leaf.hpp @@ -7,20 +7,20 @@ // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) -#ifndef BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_VISITORS_RTREE_IS_LEAF_HPP -#define BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_VISITORS_RTREE_IS_LEAF_HPP +#ifndef BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_VISITORS_IS_LEAF_HPP +#define BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_VISITORS_IS_LEAF_HPP -#include +#include namespace boost { namespace geometry { namespace index { -namespace visitors { +namespace detail { namespace rtree { namespace visitors { template -struct rtree_is_leaf : public boost::static_visitor +struct is_leaf : public boost::static_visitor { - typedef typename index::detail::rtree_internal_node::type internal_node; - typedef typename index::detail::rtree_leaf::type leaf; + typedef typename rtree::internal_node::type internal_node; + typedef typename rtree::leaf::type leaf; inline bool operator()(internal_node const&) const { @@ -33,8 +33,8 @@ struct rtree_is_leaf : public boost::static_visitor } }; -} // namespace visitors +}}} // namespace detail::rtree::visitors }}} // namespace boost::geometry::index -#endif // BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_VISITORS_RTREE_IS_LEAF_HPP +#endif // BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_VISITORS_IS_LEAF_HPP diff --git a/include/boost/geometry/extensions/index/rtree/visitors/print.hpp b/include/boost/geometry/extensions/index/rtree/visitors/print.hpp index 65ad8c95c..b208ea36d 100644 --- a/include/boost/geometry/extensions/index/rtree/visitors/print.hpp +++ b/include/boost/geometry/extensions/index/rtree/visitors/print.hpp @@ -13,29 +13,29 @@ #include -#include +#include namespace boost { namespace geometry { namespace index { -namespace visitors { +namespace detail { namespace rtree { namespace visitors { namespace dispatch { template -struct rtree_print_point +struct print_point { BOOST_STATIC_ASSERT(0 < Dimension); static inline void apply(std::ostream & os, Point const& p) { - rtree_print_point::apply(os, p); + print_point::apply(os, p); os << ", " << geometry::get(p); } }; template -struct rtree_print_point +struct print_point { static inline void apply(std::ostream & os, Point const& p) { @@ -44,20 +44,20 @@ struct rtree_print_point }; template -struct rtree_print_corner +struct print_corner { BOOST_STATIC_ASSERT(0 < Dimension); static inline void apply(std::ostream & os, Box const& b) { - rtree_print_corner::apply(os, b); + print_corner::apply(os, b); os << ", " << geometry::get(b); } }; template -struct rtree_print_corner +struct print_corner { static inline void apply(std::ostream & os, Box const& b) { @@ -66,35 +66,34 @@ struct rtree_print_corner }; template -struct rtree_print_indexable +struct print_indexable { }; template -struct rtree_print_indexable +struct print_indexable { - typedef typename geometry::traits::point_type::type point_type; - static const size_t dimension = geometry::traits::dimension::value; + static const size_t dimension = index::traits::dimension::value; static inline void apply(std::ostream &os, Indexable const& i) { os << '('; - rtree_print_corner::apply(os, i); + print_corner::apply(os, i); os << ")x("; - rtree_print_corner::apply(os, i); + print_corner::apply(os, i); os << ')'; } }; template -struct rtree_print_indexable +struct print_indexable { - static const size_t dimension = geometry::traits::dimension::value; + static const size_t dimension = index::traits::dimension::value; static inline void apply(std::ostream &os, Indexable const& i) { os << '('; - rtree_print_point::apply(os, i); + print_point::apply(os, i); os << ')'; } }; @@ -104,9 +103,9 @@ struct rtree_print_indexable namespace detail { template -inline void rtree_print_indexable(std::ostream & os, Indexable const& i) +inline void print_indexable(std::ostream & os, Indexable const& i) { - dispatch::rtree_print_indexable< + dispatch::print_indexable< Indexable, typename geometry::traits::tag::type >::apply(os, i); @@ -115,12 +114,12 @@ inline void rtree_print_indexable(std::ostream & os, Indexable const& i) } // namespace detail template -struct rtree_print : public boost::static_visitor<> +struct print : public boost::static_visitor<> { - typedef typename index::detail::rtree_internal_node::type internal_node; - typedef typename index::detail::rtree_leaf::type leaf; + typedef typename rtree::internal_node::type internal_node; + typedef typename rtree::leaf::type leaf; - inline rtree_print(std::ostream & o, Translator const& t) + inline print(std::ostream & o, Translator const& t) : os(o), tr(t), level(0) {} @@ -134,7 +133,7 @@ struct rtree_print : public boost::static_visitor<> it != n.children.end(); ++it) { spaces(level); - detail::rtree_print_indexable(os, it->first); + detail::print_indexable(os, it->first); os << " ->" << it->second << '\n'; } @@ -159,7 +158,7 @@ struct rtree_print : public boost::static_visitor<> it != n.values.end(); ++it) { spaces(level); - detail::rtree_print_indexable(os, tr(*it)); + detail::print_indexable(os, tr(*it)); os << '\n'; } } @@ -177,7 +176,7 @@ struct rtree_print : public boost::static_visitor<> size_t level; }; -} // namespace visitors +}}} // namespace detail::rtree::visitors template std::ostream & operator<<(std::ostream & os, rtree const& tree) @@ -186,7 +185,7 @@ std::ostream & operator<<(std::ostream & os, rtree const typedef typename rtree::translator_type translator_type; typedef typename rtree::box_type box_type; typedef typename rtree::tag_type tag_type; - visitors::rtree_print print_v(os, tree.get_translator()); + detail::rtree::visitors::print print_v(os, tree.get_translator()); tree.apply_visitor(print_v); return os; } diff --git a/include/boost/geometry/extensions/index/rtree/visitors/rtree_remove.hpp b/include/boost/geometry/extensions/index/rtree/visitors/remove.hpp similarity index 60% rename from include/boost/geometry/extensions/index/rtree/visitors/rtree_remove.hpp rename to include/boost/geometry/extensions/index/rtree/visitors/remove.hpp index 953fa49c3..d5e9a07a4 100644 --- a/include/boost/geometry/extensions/index/rtree/visitors/rtree_remove.hpp +++ b/include/boost/geometry/extensions/index/rtree/visitors/remove.hpp @@ -7,14 +7,14 @@ // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) -#ifndef BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_VISITORS_RTREE_REMOVE_HPP -#define BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_VISITORS_RTREE_REMOVE_HPP +#ifndef BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_VISITORS_REMOVE_HPP +#define BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_VISITORS_REMOVE_HPP -#include +#include namespace boost { namespace geometry { namespace index { -namespace visitors { +namespace detail { namespace rtree { namespace visitors { template struct rtree_remove @@ -22,8 +22,8 @@ struct rtree_remove // not implemented here }; -} // namespace visitors +}}} // namespace detail::rtree::visitors }}} // namespace boost::geometry::index -#endif // BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_VISITORS_RTREE_REMOVE_HPP +#endif // BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_VISITORS_REMOVE_HPP diff --git a/tests/additional_glut_vis.cpp b/tests/additional_glut_vis.cpp index 4636f8820..359f959e0 100644 --- a/tests/additional_glut_vis.cpp +++ b/tests/additional_glut_vis.cpp @@ -5,7 +5,7 @@ #include #include -#include +#include typedef boost::geometry::model::point P; typedef boost::geometry::model::box

B; @@ -53,9 +53,9 @@ void mouse(int button, int state, int x, int y) std::cout << "\n\n\n" << t << "\n\n"; std::cout << "inserted: "; - boost::geometry::index::visitors::detail::rtree_print_indexable(std::cout, b); + boost::geometry::index::detail::rtree::visitors::detail::print_indexable(std::cout, b); std::cout << '\n'; - std::cout << ( boost::geometry::index::rtree_are_boxes_ok(t) ? "boxes OK" : "WRONG BOXES!" ); + std::cout << ( boost::geometry::index::are_boxes_ok(t) ? "boxes OK" : "WRONG BOXES!" ); glutPostRedisplay(); }