//
// Copyright (c) 2011-2015 Adam Wulkiewicz, Lodz, Poland.
//
+// This file was modified by Oracle on 2019.
+// Modifications copyright (c) 2019 Oracle and/or its affiliates.
+// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
+//
// 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)
class are_boxes_ok
: public rtree::visitor<Value, typename Options::parameters_type, Box, Allocators, typename Options::node_tag, true>::type
{
- typedef typename rtree::internal_node<Value, typename Options::parameters_type, Box, Allocators, typename Options::node_tag>::type internal_node;
- typedef typename rtree::leaf<Value, typename Options::parameters_type, Box, Allocators, typename Options::node_tag>::type leaf;
+ typedef typename Options::parameters_type parameters_type;
+
+ typedef typename rtree::internal_node<Value, parameters_type, Box, Allocators, typename Options::node_tag>::type internal_node;
+ typedef typename rtree::leaf<Value, parameters_type, Box, Allocators, typename Options::node_tag>::type leaf;
public:
- are_boxes_ok(Translator const& tr, bool exact_match)
- : result(false), m_tr(tr), m_is_root(true), m_exact_match(exact_match)
+ are_boxes_ok(parameters_type const& parameters, Translator const& tr, bool exact_match)
+ : result(false), m_parameters(parameters), m_tr(tr), m_is_root(true), m_exact_match(exact_match)
{}
void operator()(internal_node const& n)
m_box = box_bckup;
m_is_root = is_root_bckup;
- Box box_exp = rtree::elements_box<Box>(elements.begin(), elements.end(), m_tr);
+ Box box_exp = rtree::elements_box<Box>(elements.begin(), elements.end(), m_tr,
+ index::detail::get_strategy(m_parameters));
if ( m_exact_match )
result = m_is_root || geometry::equals(box_exp, m_box);
return;
}
- Box box_exp = rtree::values_box<Box>(elements.begin(), elements.end(), m_tr);
+ Box box_exp = rtree::values_box<Box>(elements.begin(), elements.end(), m_tr,
+ index::detail::get_strategy(m_parameters));
if ( m_exact_match )
result = geometry::equals(box_exp, m_box);
bool result;
private:
+ parameters_type const& m_parameters;
Translator const& m_tr;
Box m_box;
bool m_is_root;
typename RTV::translator_type,
typename RTV::box_type,
typename RTV::allocators_type
- > v(rtv.translator(), exact_match);
+ > v(tree.parameters(), rtv.translator(), exact_match);
rtv.apply_visitor(v);