mirror of
https://github.com/boostorg/iterator.git
synced 2025-07-21 00:22:11 +02:00
changed names to "Inner" and "Outer"
[SVN r8318]
This commit is contained in:
@ -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;
|
||||||
|
Reference in New Issue
Block a user