32 #ifndef _GLIBCXX_PARALLEL_ITERATOR_H
33 #define _GLIBCXX_PARALLEL_ITERATOR_H 1
38 namespace __gnu_parallel
43 template<
typename _Iterator1,
typename _Iterator2,
44 typename _IteratorCategory>
48 typedef std::pair<_Iterator1, _Iterator2>
_Base;
62 :
_Base(__first, __second) { }
93 operator _Iterator2()
const
94 {
return _Base::second; }
99 _Base::first = __other.first;
100 _Base::second = __other.second;
106 {
return _IteratorPair(_Base::first + __delta, _Base::second + __delta);
111 {
return _Base::first - __other.first; }
118 template<
typename _Iterator1,
typename _Iterator2,
typename _Iterator3,
119 typename _IteratorCategory>
125 typedef typename std::iterator_traits<_Iterator1>::difference_type
137 const _Iterator3& __third)
175 operator _Iterator3()
const
_Iterator3 _M_third
Definition: iterator.h:132
_IteratorTriple & operator--()
Definition: iterator.h:161
const _IteratorTriple operator++(int)
Definition: iterator.h:156
A pair of iterators. The usual iterator operations are applied to both child iterators.
Definition: iterator.h:45
const _IteratorPair operator--(int)
Definition: iterator.h:89
_Iterator2 _M_second
Definition: iterator.h:131
std::iterator_traits< _Iterator1 >::difference_type difference_type
Definition: iterator.h:126
_IteratorPair * pointer
Definition: iterator.h:56
_Iterator1 _M_first
Definition: iterator.h:130
_IteratorTriple & operator++()
Definition: iterator.h:146
_IteratorTriple()
Definition: iterator.h:134
_IteratorPair & reference
Definition: iterator.h:57
difference_type operator-(const _IteratorPair &__other) const
Definition: iterator.h:110
A triple of iterators. The usual iterator operations are applied to all three child iterators...
Definition: iterator.h:120
Includes the original header files concerned with iterators except for stream iterators. This file is a GNU parallel extension to the Standard C++ Library.
void value_type
Definition: iterator.h:52
difference_type operator-(const _IteratorTriple &__other) const
Definition: iterator.h:193
std::pair< _Iterator1, _Iterator2 > _Base
Definition: iterator.h:48
_TraitsType::difference_type difference_type
Definition: iterator.h:55
_IteratorTriple & reference
Definition: iterator.h:128
_IteratorCategory iterator_category
Definition: iterator.h:51
void value_type
Definition: iterator.h:124
_IteratorTriple & operator=(const _IteratorTriple &__other)
Definition: iterator.h:179
std::iterator_traits< _Iterator1 > _TraitsType
Definition: iterator.h:54
_IteratorPair & operator=(const _IteratorPair &__other)
Definition: iterator.h:97
_IteratorTriple operator+(difference_type __delta) const
Definition: iterator.h:188
_IteratorTriple * pointer
Definition: iterator.h:127
_IteratorTriple(const _Iterator1 &__first, const _Iterator2 &__second, const _Iterator3 &__third)
Definition: iterator.h:136
_IteratorPair & operator++()
Definition: iterator.h:66
_IteratorCategory iterator_category
Definition: iterator.h:123
_IteratorPair & operator--()
Definition: iterator.h:80
const _IteratorTriple operator--(int)
Definition: iterator.h:171
_IteratorPair(const _Iterator1 &__first, const _Iterator2 &__second)
Definition: iterator.h:61
_IteratorPair()
Definition: iterator.h:59
const _IteratorPair operator++(int)
Definition: iterator.h:75
_IteratorPair operator+(difference_type __delta) const
Definition: iterator.h:105