Regression in boost::geometry::intersection interface with multi_linestring and box  does not compile on 1.57 VS 1.55
Consider the following block of code, the boost::geometry::intersection between a multilinestring and a box compiles and works on boost 1.55, but fails to compile with boost 1.57
#include <cstdlib>
#include <boost/geometry.hpp>
#include <boost/geometry/geometry.hpp>
#include <boost/geometry/geometries/point_xy.hpp>
#include <boost/geometry/geometries/linestring.hpp>
#include <boost/geometry/geometries/box.hpp>
#include <boost/geometry/multi/geometries/multi_linestring.hpp>
#include <boost/foreach.hpp>
int main()
{
typedef boost::geometry::model::d2::point_xy<double> Point;
typedef boost::geometry::model::box<Point> Box;
typedef boost::geometry::model::linestring<Point> Linestring;
typedef boost::geometry::model::multi_linestring<Linestring> MultiLinestring;
Box box;
Linestring ls;
MultiLinestring mls;
MultiLinestring out;
// Case 1  linestring with box
// 1.55: OK
// 1.57: OK
boost::geometry::intersection(ls, box, out);
// Case 2  multi linestring with box
// 1.55: OK
// 1.57: ERROR  does not compile
// clip_linestring.hpp:166:16: note: candidate function template not viable: requires 4 arguments, but 5 were provided
// OutputIterator clip_range_with_box(Box const& b, Range const& range,
boost::geometry::intersection(mls, box, out);
return 0;
}
Change History (6)
Cc: 
mkaravel added

Milestone: 
To Be Determined →
Boost 1.58.0

Owner: 
changed from Barend Gehrels to mkaravel

Milestone: 
Boost 1.58.0 →
Boost 1.59.0

Resolution: 
→ fixed

Status: 
assigned →
closed

Regression occurs in 1.56 as well.