boostorg / polygon

Boost.org polygon module
http://boost.org/libs/polygon
57 stars 70 forks source link

PolyLinePolygonWithHolesData::iteratorHoles is not LegacyIterator #44

Open fiesh opened 4 years ago

fiesh commented 4 years ago

The class template PolyLinePolygonWithHolesData's member type iteratorHoles is not a legal LegacyIterator since there is no specialization of std::iterator_traits for it.

This leads to the surprising behavior that code won't compile when the iterator is used with the standard library's algorithms, say std::transform, and the concept is correctly enforced (for example by compiling with __GLIBCXX_DEBUG).

(There might be other iterators for which this is true as well?)