diff --git a/include/boost/pending/iterator_adaptors.hpp b/include/boost/pending/iterator_adaptors.hpp index 0f03cd6..a0c550c 100644 --- a/include/boost/pending/iterator_adaptors.hpp +++ b/include/boost/pending/iterator_adaptors.hpp @@ -404,81 +404,80 @@ struct indirect_iterator_policies : public default_iterator_policies { return **x; } }; -template , - class Traits = - std::iterator_traits + class OuterTraits = std::iterator_traits, + class InnerTraits = std::iterator_traits #endif > struct indirect_traits { - typedef typename IndirectTraits::difference_type difference_type; - typedef typename Traits::value_type value_type; - typedef typename Traits::pointer pointer; - typedef typename Traits::reference reference; - typedef typename IndirectTraits::iterator_category iterator_category; + typedef typename OuterTraits::difference_type difference_type; + typedef typename InnerTraits::value_type value_type; + typedef typename InnerTraits::pointer pointer; + typedef typename InnerTraits::reference reference; + typedef typename OuterTraits::iterator_category iterator_category; }; -template , - class Traits = std::iterator_traits + class OuterTraits = std::iterator_traits, + class InnerTraits = std::iterator_traits #endif > struct indirect_iterator { - typedef typename Traits::value_type ValueType; - typedef iterator_adaptor + indirect_traits > type; }; -template , - class ConstTraits = std::iterator_traits + class OuterTraits = std::iterator_traits, + class ConstInnerTraits = std::iterator_traits #endif > struct const_indirect_iterator { - typedef iterator_adaptor + indirect_traits > type; }; -template , - class Traits = std::iterator_traits, - class ConstTraits = std::iterator_traits + class OuterTraits = std::iterator_traits, + class InnerTraits = std::iterator_traits, + class ConstInnerTraits = std::iterator_traits #endif > struct indirect_iterators { - typedef typename Traits::value_type ValueType; - typedef iterator_adaptors, - indirect_traits, + typedef iterator_adaptors, + indirect_traits, indirect_iterator_policies > Adaptors; typedef typename Adaptors::iterator iterator;