diff --git a/include/boost/range/detail/any_iterator_interface.hpp b/include/boost/range/detail/any_iterator_interface.hpp index 6135474..d3b21ea 100644 --- a/include/boost/range/detail/any_iterator_interface.hpp +++ b/include/boost/range/detail/any_iterator_interface.hpp @@ -13,9 +13,9 @@ #include #include #include -#include #include #include +#include #include namespace boost @@ -37,11 +37,13 @@ namespace boost template struct reference_as_value_type_generator { - typedef typename decay::type decayed_type; + typedef typename remove_reference< + typename remove_const::type + >::type value_type; typedef typename mpl::if_< - typename is_convertible::type, - decayed_type, + typename is_convertible::type, + value_type, T >::type type; };