diff --git a/include/boost/iterator/permutation_iterator.hpp b/include/boost/iterator/permutation_iterator.hpp index 7b41ba1..bb601c8 100644 --- a/include/boost/iterator/permutation_iterator.hpp +++ b/include/boost/iterator/permutation_iterator.hpp @@ -18,19 +18,17 @@ namespace boost { template< class ElementIterator - , class IndexIterator - , class ValueT = use_default - , class CategoryT = use_default - , class ReferenceT = use_default - , class DifferenceT = use_default > + , class IndexIterator> class permutation_iterator : public iterator_adaptor< - permutation_iterator - , IndexIterator, ValueT, CategoryT, ReferenceT, DifferenceT > + permutation_iterator + , IndexIterator, typename detail::iterator_traits::value_type + , use_default, typename detail::iterator_traits::reference> { typedef iterator_adaptor< - permutation_iterator - , IndexIterator, ValueT, CategoryT, ReferenceT, DifferenceT > super_t; + permutation_iterator + , IndexIterator, typename detail::iterator_traits::value_type + , use_default, typename detail::iterator_traits::reference> super_t; friend class iterator_core_access; @@ -40,9 +38,9 @@ public: explicit permutation_iterator(ElementIterator x, IndexIterator y) : super_t(y), m_elt_iter(x) {} - template + template permutation_iterator( - permutation_iterator const& r + permutation_iterator const& r , typename enable_if_convertible::type* = 0 , typename enable_if_convertible::type* = 0 )