diff --git a/include/boost/geometry/algorithms/detail/interior_iterator.hpp b/include/boost/geometry/algorithms/detail/interior_iterator.hpp index 7ae369399..3582773c3 100644 --- a/include/boost/geometry/algorithms/detail/interior_iterator.hpp +++ b/include/boost/geometry/algorithms/detail/interior_iterator.hpp @@ -9,10 +9,8 @@ #ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_INTERIOR_ITERATOR_HPP #define BOOST_GEOMETRY_ALGORITHMS_DETAIL_INTERIOR_ITERATOR_HPP -#include #include #include -#include #include @@ -38,14 +36,15 @@ struct interior_iterator }; template -struct const_conformant +struct copy_const { - typedef typename boost::mpl::if_ - < - boost::is_const, - T const, - T - >::type type; + typedef T type; +}; + +template +struct copy_const +{ + typedef T const type; }; template @@ -53,7 +52,7 @@ struct interior_ring_iterator { typedef typename boost::range_iterator < - typename const_conformant + typename copy_const < typename geometry::interior_type::type, typename boost::range_value