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;
 
   54       typedef std::iterator_traits<_Iterator1> _TraitsType;
 
   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;
 
  125       typedef typename std::iterator_traits<_Iterator1>::difference_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. This file is a GNU parallel extension to the Standard C++ Library. 
_Iterator1 first
second_type is the second bound type 
A triple of iterators. The usual iterator operations are applied to all three child iterators...
GNU parallel code for public use. 
A pair of iterators. The usual iterator operations are applied to both child iterators. 
Struct holding two objects of arbitrary type. 
_Iterator2 second
first is a copy of the first object