// Boost.Geometry // Copyright (c) 2019, Oracle and/or its affiliates. // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle // Licensed under the Boost Software License version 1.0. // http://www.boost.org/users/license.html #include "common.hpp" // These includes are required for the following code to compile. // This is probably wrong. #include #include #include #include #include #include namespace bgi = boost::geometry::index; template < typename VG, typename QG, typename VTag = typename bg::tag::type, typename QTag = typename bg::tag::type > struct call_query { template static inline void apply(Rtree const& , Res const& ) {} }; template struct call_query { template static inline void apply(Rtree const& rtree, QG const& qg) { std::vector res; rtree.query(bgi::intersects(qg), std::back_inserter(res)); } }; template inline void rtree_test(G const& g, P const& p) { { bgi::rtree rtree; } std::vector de2(100, g); bgi::rtree rtree(de2, p); rtree.insert(g); rtree.remove(g); rtree.count(g); call_query::apply(rtree, geom::point(0, 0)); } int test_main(int, char*[]) { geom g; rtree_test(g.pt, bgi::parameters, bg::strategy::index::cartesian<> >()); rtree_test(g.pt, bgi::parameters, bg::strategy::index::cartesian<> >()); rtree_test(g.pt, bgi::parameters, bg::strategy::index::cartesian<> >()); rtree_test(g.b, bgi::parameters, bg::strategy::index::cartesian<> >()); rtree_test(g.b, bgi::parameters, bg::strategy::index::cartesian<> >()); rtree_test(g.b, bgi::parameters, bg::strategy::index::cartesian<> >()); rtree_test(g.s, bgi::parameters, bg::strategy::index::cartesian<> >()); rtree_test(g.s, bgi::parameters, bg::strategy::index::cartesian<> >()); rtree_test(g.s, bgi::parameters, bg::strategy::index::cartesian<> >()); rtree_test(g.pt, bgi::parameters, bg::strategy::index::spherical<> >()); rtree_test(g.pt, bgi::parameters, bg::strategy::index::spherical<> >()); rtree_test(g.pt, bgi::parameters, bg::strategy::index::spherical<> >()); rtree_test(g.b, bgi::parameters, bg::strategy::index::spherical<> >()); rtree_test(g.b, bgi::parameters, bg::strategy::index::spherical<> >()); rtree_test(g.b, bgi::parameters, bg::strategy::index::spherical<> >()); rtree_test(g.s, bgi::parameters, bg::strategy::index::spherical<> >()); rtree_test(g.s, bgi::parameters, bg::strategy::index::spherical<> >()); rtree_test(g.s, bgi::parameters, bg::strategy::index::spherical<> >()); rtree_test(g.pt, bgi::parameters, bg::strategy::index::geographic<> >()); rtree_test(g.pt, bgi::parameters, bg::strategy::index::geographic<> >()); rtree_test(g.pt, bgi::parameters, bg::strategy::index::geographic<> >()); rtree_test(g.b, bgi::parameters, bg::strategy::index::geographic<> >()); rtree_test(g.b, bgi::parameters, bg::strategy::index::geographic<> >()); rtree_test(g.b, bgi::parameters, bg::strategy::index::geographic<> >()); rtree_test(g.s, bgi::parameters, bg::strategy::index::geographic<> >()); rtree_test(g.s, bgi::parameters, bg::strategy::index::geographic<> >()); rtree_test(g.s, bgi::parameters, bg::strategy::index::geographic<> >()); return 0; }