#12566 closed Bugs (fixed)
rtree: equal_to ambiguous template instantiation when contain a raw pointer in pair, calling method remove
Reported by: | Owned by: | Barend Gehrels | |
---|---|---|---|
Milestone: | Boost 1.64.0 | Component: | geometry |
Version: | Boost 1.61.0 | Severity: | Regression |
Keywords: | index rtree equal_to | Cc: |
Description
Im trying to compile this example:
main.cpp:
#include <boost/geometry.hpp> namespace bg = boost::geometry; namespace bgi = boost::geometry::index; namespace bgm = boost::geometry::model; int main() { using Point = bgm::point<double, 2, bg::cs::spherical_equatorial<bg::degree>>; using ValueType = std::pair<Point, int*>; using Rtree = bgi::rtree<ValueType, bgi::quadratic<16>>; int a,b; Rtree rtree; rtree.insert(std::make_pair(Point(45,45), &a)); rtree.insert(std::make_pair(Point(45,45), &b)); rtree.remove(std::make_pair(Point(45,45), &b)); return 0; }
using gcc 6.2.1 and boost 1.61.0 or 1.58.0 (no problem with boost 1.52.0)
I got folowing error:
/usr/include/boost/geometry/index/equal_to.hpp:127:41: erreur : ambiguous template instantiation for ‘struct boost::geometry::index::detail::equals<int*, void>’ && detail::equals<T2>::apply(l.second, r.second); ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ /usr/include/boost/geometry/index/equal_to.hpp:28:8: note : candidats sont : template<class Geometry, class Tag> struct boost::geometry::index::detail::equals<Geometry*, Tag> [with Geometry = int; Tag = void] struct equals<Geometry *, Tag> ^~~~~~~~~~~~~~~~~~~~~~~ /usr/include/boost/geometry/index/equal_to.hpp:37:8: note : template<class T> struct boost::geometry::index::detail::equals<T, void> [with T = int*] struct equals<T, void> ^~~~~~~~~~~~~~~ /usr/include/boost/geometry/index/equal_to.hpp:127:41: erreur : incomplete type ‘boost::geometry::index::detail::equals<int*, void>’ used in nested name specifier && detail::equals<T2>::apply(l.second, r.second); ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
no problem if I replace int* by int
also document here http://stackoverflow.com/questions/39970131/issue-storing-raw-pointers-in-boost-r-tree
Attachments (1)
Change History (3)
by , 6 years ago
comment:1 by , 6 years ago
Keywords: | index rtree equal_to added |
---|---|
Resolution: | → fixed |
Status: | new → closed |
comment:2 by , 6 years ago
Milestone: | To Be Determined → Boost 1.64.0 |
---|
Note:
See TracTickets
for help on using tickets.
Error example