changed names to "Inner" and "Outer"

[SVN r8318]
This commit is contained in:
Jeremy Siek
2000-11-24 20:05:11 +00:00
parent 31fef5252a
commit ffec5207fa

View File

@ -404,81 +404,80 @@ struct indirect_iterator_policies : public default_iterator_policies
{ return **x; } { return **x; }
}; };
template <class IndirectIterator, template <class OuterIterator, class InnerIterator,
#ifdef BOOST_NO_STD_ITERATOR_TRAITS #ifdef BOOST_NO_STD_ITERATOR_TRAITS
class IndirectTraits, class OuterTraits,
class Traits class InnerTraits
#else #else
class IndirectTraits = std::iterator_traits<IndirectIterator>, class OuterTraits = std::iterator_traits<OuterIterator>,
class Traits = class InnerTraits = std::iterator_traits<InnerIterator>
std::iterator_traits<typename IndirectTraits::value_type>
#endif #endif
> >
struct indirect_traits struct indirect_traits
{ {
typedef typename IndirectTraits::difference_type difference_type; typedef typename OuterTraits::difference_type difference_type;
typedef typename Traits::value_type value_type; typedef typename InnerTraits::value_type value_type;
typedef typename Traits::pointer pointer; typedef typename InnerTraits::pointer pointer;
typedef typename Traits::reference reference; typedef typename InnerTraits::reference reference;
typedef typename IndirectTraits::iterator_category iterator_category; typedef typename OuterTraits::iterator_category iterator_category;
}; };
template <class IndirectIterator, class Iterator, template <class OuterIterator, class InnerIterator,
#ifdef BOOST_NO_STD_ITERATOR_TRAITS #ifdef BOOST_NO_STD_ITERATOR_TRAITS
class IndirectTraits, class OuterTraits,
class Traits class InnerTraits
#else #else
class IndirectTraits = class OuterTraits = std::iterator_traits<OuterIterator>,
std::iterator_traits<IndirectIterator>, class InnerTraits = std::iterator_traits<InnerIterator>
class Traits = std::iterator_traits<Iterator>
#endif #endif
> >
struct indirect_iterator struct indirect_iterator
{ {
typedef typename Traits::value_type ValueType; typedef iterator_adaptor<OuterIterator,
typedef iterator_adaptor<IndirectIterator,
indirect_iterator_policies, indirect_iterator_policies,
indirect_traits<IndirectIterator, IndirectTraits, Traits> indirect_traits<OuterIterator, InnerIterator,
OuterTraits, InnerTraits>
> type; > type;
}; };
template <class IndirectIterator, class ConstIterator, template <class OuterIterator, class ConstInnerIterator,
#ifdef BOOST_NO_STD_ITERATOR_TRAITS #ifdef BOOST_NO_STD_ITERATOR_TRAITS
class IndirectTraits, class OuterTraits,
class ConstTraits class ConstInnerTraits
#else #else
class IndirectTraits = class OuterTraits = std::iterator_traits<OuterIterator>,
std::iterator_traits<IndirectIterator>, class ConstInnerTraits = std::iterator_traits<ConstInnerIterator>
class ConstTraits = std::iterator_traits<ConstIterator>
#endif #endif
> >
struct const_indirect_iterator struct const_indirect_iterator
{ {
typedef iterator_adaptor<IndirectIterator, typedef iterator_adaptor<OuterIterator,
indirect_iterator_policies, indirect_iterator_policies,
indirect_traits<IndirectIterator, IndirectTraits, ConstTraits> indirect_traits<OuterIterator, ConstInnerIterator,
OuterTraits, ConstInnerTraits>
> type; > type;
}; };
template <class IndirectIterator, template <class OuterIterator, // Mutable or Immutable, does not matter
class Iterator, // Mutable class InnerIterator, // Mutable
class ConstIterator, // Immutable class ConstInnerIterator, // Immutable
#ifdef BOOST_NO_STD_ITERATOR_TRAITS #ifdef BOOST_NO_STD_ITERATOR_TRAITS
class IndirectTraits, class OuterTraits,
class Traits, class InnerTraits,
class ConstTraits class ConstInnerTraits
#else #else
class IndirectTraits = std::iterator_traits<IndirectIterator>, class OuterTraits = std::iterator_traits<OuterIterator>,
class Traits = std::iterator_traits<Iterator>, class InnerTraits = std::iterator_traits<InnerIterator>,
class ConstTraits = std::iterator_traits<ConstIterator> class ConstInnerTraits = std::iterator_traits<ConstInnerIterator>
#endif #endif
> >
struct indirect_iterators struct indirect_iterators
{ {
typedef typename Traits::value_type ValueType; typedef iterator_adaptors<OuterIterator, OuterIterator,
typedef iterator_adaptors<IndirectIterator, IndirectIterator, indirect_traits<OuterIterator, InnerIterator,
indirect_traits<IndirectIterator, IndirectTraits, Traits>, OuterTraits, InnerTraits>,
indirect_traits<IndirectIterator, IndirectTraits, ConstTraits>, indirect_traits<OuterIterator, ConstInnerIterator,
OuterTraits, ConstInnerTraits>,
indirect_iterator_policies indirect_iterator_policies
> Adaptors; > Adaptors;
typedef typename Adaptors::iterator iterator; typedef typename Adaptors::iterator iterator;