libstdc++
__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 _IteratorPairpointer
 
typedef _IteratorPairreference
 
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
 
_IteratorPairoperator++ ()
 
const _IteratorPair operator++ (int)
 
difference_type operator- (const _IteratorPair &__other) const
 
_IteratorPairoperator-- ()
 
const _IteratorPair operator-- (int)
 
_IteratorPairoperator= (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)
inlinenoexceptinherited

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: