32#ifndef _GLIBCXX_PARALLEL_ITERATOR_H
33#define _GLIBCXX_PARALLEL_ITERATOR_H 1
43 template<
typename _Iterator1,
typename _Iterator2,
44 typename _IteratorCategory>
51 typedef _IteratorCategory iterator_category;
52 typedef void value_type;
55 typedef typename _TraitsType::difference_type difference_type;
61 _IteratorPair(
const _Iterator1& __first,
const _Iterator2& __second)
62 :
_Base(__first, __second) { }
93 operator _Iterator2()
const
105 operator+(difference_type __delta)
const
118 template<
typename _Iterator1,
typename _Iterator2,
typename _Iterator3,
119 typename _IteratorCategory>
123 typedef _IteratorCategory iterator_category;
124 typedef void value_type;
131 _Iterator2 _M_second;
137 const _Iterator3& __third)
140 _M_second = __second;
175 operator _Iterator3()
const
181 _M_first = __other._M_first;
182 _M_second = __other._M_second;
183 _M_third = __other._M_third;
188 operator+(difference_type __delta)
const
190 _M_third + __delta); }
194 {
return _M_first - __other._M_first; }
Includes the original header files concerned with iterators except for stream iterators....
GNU parallel code for public use.
Traits class for iterators.
Struct holding two objects of arbitrary type.
_Iterator1 first
The first member.
_Iterator2 second
The second member.
A pair of iterators. The usual iterator operations are applied to both child iterators.
A triple of iterators. The usual iterator operations are applied to all three child iterators.