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

A triple of iterators. The usual iterator operations are applied to all three child iterators. More...

#include <parallel/iterator.h>

Public Types

typedef _IteratorCategory iterator_category
 
typedef void value_type
 
typedef std::iterator_traits
< _Iterator1 >
::difference_type 
difference_type
 
typedef _IteratorTriplepointer
 
typedef _IteratorTriplereference
 

Public Member Functions

 _IteratorTriple ()
 
 _IteratorTriple (const _Iterator1 &__first, const _Iterator2 &__second, const _Iterator3 &__third)
 
_IteratorTripleoperator++ ()
 
const _IteratorTriple operator++ (int)
 
_IteratorTripleoperator-- ()
 
const _IteratorTriple operator-- (int)
 
 operator _Iterator3 () const
 
_IteratorTripleoperator= (const _IteratorTriple &__other)
 
_IteratorTriple operator+ (difference_type __delta) const
 
difference_type operator- (const _IteratorTriple &__other) const
 

Public Attributes

_Iterator1 _M_first
 
_Iterator2 _M_second
 
_Iterator3 _M_third
 

Detailed Description

template<typename _Iterator1, typename _Iterator2, typename _Iterator3, typename _IteratorCategory>
class __gnu_parallel::_IteratorTriple< _Iterator1, _Iterator2, _Iterator3, _IteratorCategory >

A triple of iterators. The usual iterator operations are applied to all three child iterators.

Member Typedef Documentation

template<typename _Iterator1 , typename _Iterator2 , typename _Iterator3 , typename _IteratorCategory >
typedef std::iterator_traits<_Iterator1>::difference_type __gnu_parallel::_IteratorTriple< _Iterator1, _Iterator2, _Iterator3, _IteratorCategory >::difference_type
template<typename _Iterator1 , typename _Iterator2 , typename _Iterator3 , typename _IteratorCategory >
typedef _IteratorCategory __gnu_parallel::_IteratorTriple< _Iterator1, _Iterator2, _Iterator3, _IteratorCategory >::iterator_category
template<typename _Iterator1 , typename _Iterator2 , typename _Iterator3 , typename _IteratorCategory >
typedef _IteratorTriple* __gnu_parallel::_IteratorTriple< _Iterator1, _Iterator2, _Iterator3, _IteratorCategory >::pointer
template<typename _Iterator1 , typename _Iterator2 , typename _Iterator3 , typename _IteratorCategory >
typedef _IteratorTriple& __gnu_parallel::_IteratorTriple< _Iterator1, _Iterator2, _Iterator3, _IteratorCategory >::reference
template<typename _Iterator1 , typename _Iterator2 , typename _Iterator3 , typename _IteratorCategory >
typedef void __gnu_parallel::_IteratorTriple< _Iterator1, _Iterator2, _Iterator3, _IteratorCategory >::value_type

Constructor & Destructor Documentation

template<typename _Iterator1 , typename _Iterator2 , typename _Iterator3 , typename _IteratorCategory >
__gnu_parallel::_IteratorTriple< _Iterator1, _Iterator2, _Iterator3, _IteratorCategory >::_IteratorTriple ( )
inline
134 { }
template<typename _Iterator1 , typename _Iterator2 , typename _Iterator3 , typename _IteratorCategory >
__gnu_parallel::_IteratorTriple< _Iterator1, _Iterator2, _Iterator3, _IteratorCategory >::_IteratorTriple ( const _Iterator1 &  __first,
const _Iterator2 &  __second,
const _Iterator3 &  __third 
)
inline
138  {
139  _M_first = __first;
140  _M_second = __second;
141  _M_third = __third;
142  }
_Iterator3 _M_third
Definition: iterator.h:132
_Iterator2 _M_second
Definition: iterator.h:131
_Iterator1 _M_first
Definition: iterator.h:130

Member Function Documentation

template<typename _Iterator1 , typename _Iterator2 , typename _Iterator3 , typename _IteratorCategory >
__gnu_parallel::_IteratorTriple< _Iterator1, _Iterator2, _Iterator3, _IteratorCategory >::operator _Iterator3 ( ) const
inline
176  { return _M_third; }
_Iterator3 _M_third
Definition: iterator.h:132
template<typename _Iterator1 , typename _Iterator2 , typename _Iterator3 , typename _IteratorCategory >
_IteratorTriple __gnu_parallel::_IteratorTriple< _Iterator1, _Iterator2, _Iterator3, _IteratorCategory >::operator+ ( difference_type  __delta) const
inline
189  { return _IteratorTriple(_M_first + __delta, _M_second + __delta,
190  _M_third + __delta); }
_Iterator3 _M_third
Definition: iterator.h:132
_Iterator2 _M_second
Definition: iterator.h:131
_Iterator1 _M_first
Definition: iterator.h:130
_IteratorTriple()
Definition: iterator.h:134
template<typename _Iterator1 , typename _Iterator2 , typename _Iterator3 , typename _IteratorCategory >
_IteratorTriple& __gnu_parallel::_IteratorTriple< _Iterator1, _Iterator2, _Iterator3, _IteratorCategory >::operator++ ( )
inline
147  {
148  ++_M_first;
149  ++_M_second;
150  ++_M_third;
151  return *this;
152  }
_Iterator3 _M_third
Definition: iterator.h:132
_Iterator2 _M_second
Definition: iterator.h:131
_Iterator1 _M_first
Definition: iterator.h:130
template<typename _Iterator1 , typename _Iterator2 , typename _Iterator3 , typename _IteratorCategory >
const _IteratorTriple __gnu_parallel::_IteratorTriple< _Iterator1, _Iterator2, _Iterator3, _IteratorCategory >::operator++ ( int  )
inline
157  { return _IteratorTriple(_M_first++, _M_second++, _M_third++); }
_Iterator3 _M_third
Definition: iterator.h:132
_Iterator2 _M_second
Definition: iterator.h:131
_Iterator1 _M_first
Definition: iterator.h:130
_IteratorTriple()
Definition: iterator.h:134
template<typename _Iterator1 , typename _Iterator2 , typename _Iterator3 , typename _IteratorCategory >
difference_type __gnu_parallel::_IteratorTriple< _Iterator1, _Iterator2, _Iterator3, _IteratorCategory >::operator- ( const _IteratorTriple< _Iterator1, _Iterator2, _Iterator3, _IteratorCategory > &  __other) const
inline
194  { return _M_first - __other._M_first; }
_Iterator1 _M_first
Definition: iterator.h:130
template<typename _Iterator1 , typename _Iterator2 , typename _Iterator3 , typename _IteratorCategory >
_IteratorTriple& __gnu_parallel::_IteratorTriple< _Iterator1, _Iterator2, _Iterator3, _IteratorCategory >::operator-- ( )
inline
162  {
163  --_M_first;
164  --_M_second;
165  --_M_third;
166  return *this;
167  }
_Iterator3 _M_third
Definition: iterator.h:132
_Iterator2 _M_second
Definition: iterator.h:131
_Iterator1 _M_first
Definition: iterator.h:130
template<typename _Iterator1 , typename _Iterator2 , typename _Iterator3 , typename _IteratorCategory >
const _IteratorTriple __gnu_parallel::_IteratorTriple< _Iterator1, _Iterator2, _Iterator3, _IteratorCategory >::operator-- ( int  )
inline
172  { return _IteratorTriple(_M_first--, _M_second--, _M_third--); }
_Iterator3 _M_third
Definition: iterator.h:132
_Iterator2 _M_second
Definition: iterator.h:131
_Iterator1 _M_first
Definition: iterator.h:130
_IteratorTriple()
Definition: iterator.h:134
template<typename _Iterator1 , typename _Iterator2 , typename _Iterator3 , typename _IteratorCategory >
_IteratorTriple& __gnu_parallel::_IteratorTriple< _Iterator1, _Iterator2, _Iterator3, _IteratorCategory >::operator= ( const _IteratorTriple< _Iterator1, _Iterator2, _Iterator3, _IteratorCategory > &  __other)
inline
180  {
181  _M_first = __other._M_first;
182  _M_second = __other._M_second;
183  _M_third = __other._M_third;
184  return *this;
185  }
_Iterator3 _M_third
Definition: iterator.h:132
_Iterator2 _M_second
Definition: iterator.h:131
_Iterator1 _M_first
Definition: iterator.h:130

Member Data Documentation

template<typename _Iterator1 , typename _Iterator2 , typename _Iterator3 , typename _IteratorCategory >
_Iterator1 __gnu_parallel::_IteratorTriple< _Iterator1, _Iterator2, _Iterator3, _IteratorCategory >::_M_first
template<typename _Iterator1 , typename _Iterator2 , typename _Iterator3 , typename _IteratorCategory >
_Iterator2 __gnu_parallel::_IteratorTriple< _Iterator1, _Iterator2, _Iterator3, _IteratorCategory >::_M_second
template<typename _Iterator1 , typename _Iterator2 , typename _Iterator3 , typename _IteratorCategory >
_Iterator3 __gnu_parallel::_IteratorTriple< _Iterator1, _Iterator2, _Iterator3, _IteratorCategory >::_M_third

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