diff --git a/include/boost/geometry/iterators/closing_iterator.hpp b/include/boost/geometry/iterators/closing_iterator.hpp index a0ec6a5c9..f77c9342b 100644 --- a/include/boost/geometry/iterators/closing_iterator.hpp +++ b/include/boost/geometry/iterators/closing_iterator.hpp @@ -38,9 +38,12 @@ struct closing_iterator < closing_iterator, typename boost::range_value::type const, - boost::random_access_traversal_tag + boost::random_access_traversal_tag, + typename boost::range_reference::type const, + typename boost::range_difference::type > { + typedef typename boost::range_reference::type const reference_type; typedef typename boost::range_difference::type difference_type; /// Constructor including the range it is based on @@ -71,7 +74,7 @@ struct closing_iterator private: friend class boost::iterator_core_access; - inline typename boost::range_value::type const& dereference() const + inline reference_type dereference() const { return *m_iterator; } diff --git a/include/boost/geometry/iterators/ever_circling_iterator.hpp b/include/boost/geometry/iterators/ever_circling_iterator.hpp index 569688aac..f164250fd 100644 --- a/include/boost/geometry/iterators/ever_circling_iterator.hpp +++ b/include/boost/geometry/iterators/ever_circling_iterator.hpp @@ -100,7 +100,9 @@ struct ever_circling_range_iterator < ever_circling_range_iterator, typename boost::range_value::type const, - boost::random_access_traversal_tag + boost::random_access_traversal_tag, + typename boost::range_reference::type const, + typename boost::range_difference::type > { /// Constructor including the range it is based on @@ -118,12 +120,13 @@ struct ever_circling_range_iterator , m_index(0) {} - typedef std::ptrdiff_t difference_type; + typedef typename boost::range_reference::type const reference_type; + typedef typename boost::range_difference::type difference_type; private: friend class boost::iterator_core_access; - inline typename boost::range_value::type const& dereference() const + inline reference_type dereference() const { return *m_iterator; }