#10861 closed Bugs (fixed)
Can't compile rtree.remove in 1.56 and 1.57 (1.55 works fine)
| Reported by: | Owned by: | awulkiew | |
|---|---|---|---|
| Milestone: | Boost 1.58.0 | Component: | geometry |
| Version: | Boost 1.57.0 | Severity: | Problem |
| Keywords: | geometry rtree | Cc: |
Description
See attached file. It can be compiled with boost 1.55 but not in 1.56 and 1.57.
Attachments (1)
Change History (4)
by , 8 years ago
comment:1 by , 8 years ago
| Owner: | changed from to |
|---|
comment:2 by , 8 years ago
| Resolution: | → fixed |
|---|---|
| Status: | new → closed |
| Version: | Boost 1.57.0 → Boost 1.58.0 |
The problem was located in the default bgi::equal_to<> function object. As a workaround a user-defined one could be passed to the rtree:
typedef std::pair<GeometryBox, GeometryPolygon * > Value;
struct equal_to
{
bool operator()(Value const& v1, Value const& v2) const
{
return boost::geometry::equals(v1.first, v2.first)
&& v1.second == v2.second;
}
};
boost::geometry::index::rtree
<
Value,
boost::geometry::index::linear<16>,
boost::geometry::index::indexable<Value>,
equal_to
> rtree;
comment:3 by , 8 years ago
| Milestone: | To Be Determined → Boost 1.58.0 |
|---|---|
| Version: | Boost 1.58.0 → Boost 1.57.0 |
Note:
See TracTickets
for help on using tickets.

testcase