STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Private Types | List of all members
__gnu_parallel::_IteratorPair< _Iterator1, _Iterator2, _IteratorCategory > Class Template Reference

A pair of iterators. The usual iterator operations are applied to both child iterators. More...

#include <parallel/iterator.h>

Inheritance diagram for __gnu_parallel::_IteratorPair< _Iterator1, _Iterator2, _IteratorCategory >:

Public Types

typedef _IteratorCategory iterator_category
 
typedef void value_type
 
typedef std::iterator_traits
< _Iterator1 > 
_TraitsType
 
typedef
_TraitsType::difference_type 
difference_type
 
typedef _IteratorPairpointer
 
typedef _IteratorPairreference
 

Public Member Functions

 _IteratorPair ()
 
 _IteratorPair (const _Iterator1 &__first, const _Iterator2 &__second)
 
_IteratorPairoperator++ ()
 
const _IteratorPair operator++ (int)
 
_IteratorPairoperator-- ()
 
const _IteratorPair operator-- (int)
 
 operator _Iterator2 () const
 
_IteratorPairoperator= (const _IteratorPair &__other)
 
_IteratorPair operator+ (difference_type __delta) const
 
difference_type operator- (const _IteratorPair &__other) const
 

Private Types

typedef std::pair< _Iterator1,
_Iterator2 > 
_Base
 

Detailed Description

template<typename _Iterator1, typename _Iterator2, typename _IteratorCategory>
class __gnu_parallel::_IteratorPair< _Iterator1, _Iterator2, _IteratorCategory >

A pair of iterators. The usual iterator operations are applied to both child iterators.

Member Typedef Documentation

template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >
typedef std::pair<_Iterator1, _Iterator2> __gnu_parallel::_IteratorPair< _Iterator1, _Iterator2, _IteratorCategory >::_Base
private
template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >
typedef std::iterator_traits<_Iterator1> __gnu_parallel::_IteratorPair< _Iterator1, _Iterator2, _IteratorCategory >::_TraitsType
template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >
typedef _TraitsType::difference_type __gnu_parallel::_IteratorPair< _Iterator1, _Iterator2, _IteratorCategory >::difference_type
template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >
typedef _IteratorCategory __gnu_parallel::_IteratorPair< _Iterator1, _Iterator2, _IteratorCategory >::iterator_category
template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >
typedef _IteratorPair* __gnu_parallel::_IteratorPair< _Iterator1, _Iterator2, _IteratorCategory >::pointer
template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >
typedef _IteratorPair& __gnu_parallel::_IteratorPair< _Iterator1, _Iterator2, _IteratorCategory >::reference
template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >
typedef void __gnu_parallel::_IteratorPair< _Iterator1, _Iterator2, _IteratorCategory >::value_type

Constructor & Destructor Documentation

template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >
__gnu_parallel::_IteratorPair< _Iterator1, _Iterator2, _IteratorCategory >::_IteratorPair ( )
inline
59 { }
template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >
__gnu_parallel::_IteratorPair< _Iterator1, _Iterator2, _IteratorCategory >::_IteratorPair ( const _Iterator1 &  __first,
const _Iterator2 &  __second 
)
inline
62  : _Base(__first, __second) { }
std::pair< _Iterator1, _Iterator2 > _Base
Definition: iterator.h:48

Member Function Documentation

template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >
__gnu_parallel::_IteratorPair< _Iterator1, _Iterator2, _IteratorCategory >::operator _Iterator2 ( ) const
inline
94  { return _Base::second; }
template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >
_IteratorPair __gnu_parallel::_IteratorPair< _Iterator1, _Iterator2, _IteratorCategory >::operator+ ( difference_type  __delta) const
inline
106  { return _IteratorPair(_Base::first + __delta, _Base::second + __delta);
107  }
_IteratorPair()
Definition: iterator.h:59
template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >
_IteratorPair& __gnu_parallel::_IteratorPair< _Iterator1, _Iterator2, _IteratorCategory >::operator++ ( )
inline
67  {
68  ++_Base::first;
69  ++_Base::second;
70  return *this;
71  }
template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >
const _IteratorPair __gnu_parallel::_IteratorPair< _Iterator1, _Iterator2, _IteratorCategory >::operator++ ( int  )
inline
76  { return _IteratorPair(_Base::first++, _Base::second++); }
_IteratorPair()
Definition: iterator.h:59
template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >
difference_type __gnu_parallel::_IteratorPair< _Iterator1, _Iterator2, _IteratorCategory >::operator- ( const _IteratorPair< _Iterator1, _Iterator2, _IteratorCategory > &  __other) const
inline
111  { return _Base::first - __other.first; }
template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >
_IteratorPair& __gnu_parallel::_IteratorPair< _Iterator1, _Iterator2, _IteratorCategory >::operator-- ( )
inline
81  {
82  --_Base::first;
83  --_Base::second;
84  return *this;
85  }
template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >
const _IteratorPair __gnu_parallel::_IteratorPair< _Iterator1, _Iterator2, _IteratorCategory >::operator-- ( int  )
inline
90  { return _IteratorPair(_Base::first--, _Base::second--); }
_IteratorPair()
Definition: iterator.h:59
template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >
_IteratorPair& __gnu_parallel::_IteratorPair< _Iterator1, _Iterator2, _IteratorCategory >::operator= ( const _IteratorPair< _Iterator1, _Iterator2, _IteratorCategory > &  __other)
inline
98  {
99  _Base::first = __other.first;
100  _Base::second = __other.second;
101  return *this;
102  }

The documentation for this class was generated from the following file: