diff --git a/include/boost/counting_iterator.hpp b/include/boost/counting_iterator.hpp index 84dce41..0e39a6d 100644 --- a/include/boost/counting_iterator.hpp +++ b/include/boost/counting_iterator.hpp @@ -199,15 +199,20 @@ struct counting_iterator_policies : public default_iterator_policies template struct counting_iterator_generator { - typedef counting_iterator_traits traits; + typedef typename boost::remove_const< + Incrementable + >::type value_type; - typedef iterator_adaptor, - Incrementable, - const Incrementable&, - const Incrementable*, - typename traits::iterator_category, - typename traits::difference_type + typedef counting_iterator_traits traits; + + typedef iterator_adaptor< + value_type + , counting_iterator_policies + , value_type + , value_type const& + , value_type const* + , typename traits::iterator_category + , typename traits::difference_type > type; };