__gnu_parallel::_IteratorPair< _Iterator1, _Iterator2, _IteratorCategory > Class Template Reference

`#include <iterator.h>`

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

## Public Types

using | _PCCFP = _PCC<!is_same< _Iterator1, _U1 >::value||!is_same< _Iterator2, _U2 >::value, _Iterator1, _Iterator2 >
using | _PCCP = _PCC< true, _Iterator1, _Iterator2 >
typedef std::iterator_traits< _Iterator1 > | _TraitsType
typedef _TraitsType::difference_type | difference_type
typedef _Iterator1 | first_type
typedef _IteratorCategory | iterator_category
typedef _IteratorPair * | pointer
typedef _IteratorPair & | reference
typedef _Iterator2 | second_type
typedef void | value_type

## Public Member Functions

| _IteratorPair (const _Iterator1 &__first, const _Iterator2 &__second)
| operator _Iterator2 () const
_IteratorPair | operator+ (difference_type __delta) const
_IteratorPair & | operator++ ()
const _IteratorPair | operator++ (int)
difference_type | operator- (const _IteratorPair &__other) const
_IteratorPair & | operator-- ()
const _IteratorPair | operator-- (int)
_IteratorPair & | operator= (const _IteratorPair &__other)
void | swap (pair &__p) noexcept(__and_< __is_nothrow_swappable< _Iterator1 >, __is_nothrow_swappable< _Iterator2 > >::value)

## Public Attributes

_Iterator1 | first
_Iterator2 | second

## 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.

Definition at line 45 of file iterator.h.

## Member Typedef Documentation

## _PCCFP

using std::pair< _Iterator1 , _Iterator2 >::_PCCFP = _PCC<!is_same<_Iterator1 , _U1>::value || !is_same<_Iterator2 , _U2>::value, _Iterator1 , _Iterator2 >

inherited

There is also a templated copy ctor for the `pair` class itself.

Definition at line 281 of file stl_pair.h.

## _PCCP

using std::pair< _Iterator1 , _Iterator2 >::_PCCP = _PCC<true, _Iterator1 , _Iterator2 >

inherited

Two objects may be passed to a `pair` constructor to be copied.

Definition at line 252 of file stl_pair.h.

## _TraitsType

template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >

typedef std::iterator_traits<_Iterator1> __gnu_parallel::_IteratorPair< _Iterator1, _Iterator2, _IteratorCategory >::_TraitsType

Definition at line 54 of file iterator.h.

## difference_type

template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >

typedef _TraitsType::difference_type __gnu_parallel::_IteratorPair< _Iterator1, _Iterator2, _IteratorCategory >::difference_type

Definition at line 55 of file iterator.h.

## first_type

typedef _Iterator1 std::pair< _Iterator1 , _Iterator2 >::first_type

inherited

Definition at line 211 of file stl_pair.h.

## iterator_category

template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >

typedef _IteratorCategory __gnu_parallel::_IteratorPair< _Iterator1, _Iterator2, _IteratorCategory >::iterator_category

Definition at line 51 of file iterator.h.

## pointer

template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >

typedef _IteratorPair* __gnu_parallel::_IteratorPair< _Iterator1, _Iterator2, _IteratorCategory >::pointer

Definition at line 56 of file iterator.h.

## reference

template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >

typedef _IteratorPair& __gnu_parallel::_IteratorPair< _Iterator1, _Iterator2, _IteratorCategory >::reference

Definition at line 57 of file iterator.h.

## second_type

typedef _Iterator2 std::pair< _Iterator1 , _Iterator2 >::second_type

inherited

`first_type` is the first bound type

Definition at line 212 of file stl_pair.h.

## value_type

template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >

typedef void __gnu_parallel::_IteratorPair< _Iterator1, _Iterator2, _IteratorCategory >::value_type

Definition at line 52 of file iterator.h.

## Constructor & Destructor Documentation

## _IteratorPair() [1/2]

template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >

__gnu_parallel::_IteratorPair< _Iterator1, _Iterator2, _IteratorCategory >::_IteratorPair | ( |  | ) |

inline

Definition at line 59 of file iterator.h.

## _IteratorPair() [2/2]

template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >

__gnu_parallel::_IteratorPair< _Iterator1, _Iterator2, _IteratorCategory >::_IteratorPair | ( | const _Iterator1 & | __first,
|  | const _Iterator2 & | __second
| ) |  |

inline

Definition at line 61 of file iterator.h.

## Member Function Documentation

## operator _Iterator2()

template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >

__gnu_parallel::_IteratorPair< _Iterator1, _Iterator2, _IteratorCategory >::operator _Iterator2 | ( |  | ) | const

inline

Definition at line 93 of file iterator.h.

## operator+()

template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >

_IteratorPair __gnu_parallel::_IteratorPair< _Iterator1, _Iterator2, _IteratorCategory >::operator+ | ( | difference_type | __delta | ) | const

inline

Definition at line 105 of file iterator.h.

## operator++() [1/2]

template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >

_IteratorPair & __gnu_parallel::_IteratorPair< _Iterator1, _Iterator2, _IteratorCategory >::operator++ | ( |  | ) |

inline

Definition at line 66 of file iterator.h.

## operator++() [2/2]

template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >

const _IteratorPair __gnu_parallel::_IteratorPair< _Iterator1, _Iterator2, _IteratorCategory >::operator++ | ( | int |  | ) |

inline

Definition at line 75 of file iterator.h.

## operator-()

template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >

difference_type __gnu_parallel::_IteratorPair< _Iterator1, _Iterator2, _IteratorCategory >::operator- | ( | const _IteratorPair< _Iterator1, _Iterator2, _IteratorCategory > & | __other | ) | const

inline

Definition at line 110 of file iterator.h.

## operator--() [1/2]

template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >

_IteratorPair & __gnu_parallel::_IteratorPair< _Iterator1, _Iterator2, _IteratorCategory >::operator-- | ( |  | ) |

inline

Definition at line 80 of file iterator.h.

## operator--() [2/2]

template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >

const _IteratorPair __gnu_parallel::_IteratorPair< _Iterator1, _Iterator2, _IteratorCategory >::operator-- | ( | int |  | ) |

inline

Definition at line 89 of file iterator.h.

## operator=()

template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >

_IteratorPair & __gnu_parallel::_IteratorPair< _Iterator1, _Iterator2, _IteratorCategory >::operator= | ( | const _IteratorPair< _Iterator1, _Iterator2, _IteratorCategory > & | __other | ) |

inline

Definition at line 97 of file iterator.h.

## swap()

void std::pair< _Iterator1 , _Iterator2 >::swap | ( | pair< _Iterator1, _Iterator2 > & | __p | ) |

inline noexcept inherited

Definition at line 424 of file stl_pair.h.

## Member Data Documentation

## first

_Iterator1 std::pair< _Iterator1 , _Iterator2 >::first

inherited

`second_type` is the second bound type

Definition at line 214 of file stl_pair.h.

## second

_Iterator2 std::pair< _Iterator1 , _Iterator2 >::second

inherited

`first` is a copy of the first object

Definition at line 215 of file stl_pair.h.

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

- iterator.h