libstdc++
__gnu_parallel::_IteratorPair< _Iterator1, _Iterator2, _IteratorCategory > Class Template Reference
Inheritance diagram for __gnu_parallel::_IteratorPair< _Iterator1, _Iterator2, _IteratorCategory >:
[legend]

Public Types

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)
 
constexpr void swap (pair &__p) noexcept(__and_< __is_nothrow_swappable< _Iterator1 >, __is_nothrow_swappable< _Iterator2 >>::value)
 

Public Attributes

_Iterator1 first
 
_Iterator2 second
 

Related Functions

(Note that these are not member functions.)

constexpr pair< typename __decay_and_strip< _Iterator1 >::__type, typename __decay_and_strip< _Iterator2 >::__type > make_pair (_Iterator1 &&__x, _Iterator2 &&__y)
 
constexpr enable_if< __and_< __is_swappable< _Iterator1 >, __is_swappable< _Iterator2 > >::value >::type swap (pair< _Iterator1, _Iterator2 > &__x, pair< _Iterator1, _Iterator2 > &__y) noexcept(noexcept(__x.swap(__y)))
 
constexpr bool operator== (const pair< _Iterator1, _Iterator2 > &__x, const pair< _Iterator1, _Iterator2 > &__y)
 
constexpr bool operator< (const pair< _Iterator1, _Iterator2 > &__x, const pair< _Iterator1, _Iterator2 > &__y)
 
constexpr bool operator!= (const pair< _Iterator1, _Iterator2 > &__x, const pair< _Iterator1, _Iterator2 > &__y)
 
constexpr bool operator> (const pair< _Iterator1, _Iterator2 > &__x, const pair< _Iterator1, _Iterator2 > &__y)
 
constexpr bool operator<= (const pair< _Iterator1, _Iterator2 > &__x, const pair< _Iterator1, _Iterator2 > &__y)
 
constexpr bool operator>= (const pair< _Iterator1, _Iterator2 > &__x, const pair< _Iterator1, _Iterator2 > &__y)
 

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

◆ first_type

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

The type of the first member.

Definition at line 214 of file stl_pair.h.

◆ second_type

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

The type of the second member.

Definition at line 215 of file stl_pair.h.

Member Function Documentation

◆ swap()

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

Swap the first members and then the second members.

Definition at line 439 of file stl_pair.h.

Friends And Related Function Documentation

◆ make_pair()

constexpr pair< typename __decay_and_strip< _Iterator1 >::__type, typename __decay_and_strip< _Iterator2 >::__type > make_pair ( _Iterator1 &&  __x,
_Iterator2 &&  __y 
)
related

A convenience wrapper for creating a pair from two objects.

Parameters
__xThe first object.
__yThe second object.
Returns
A newly-constructed pair<> object of the appropriate type.

The C++98 standard says the objects are passed by reference-to-const, but C++03 says they are passed by value (this was LWG issue #181).

Since C++11 they have been passed by forwarding reference and then forwarded to the new members of the pair. To create a pair with a member of reference type, pass a reference_wrapper to this function.

Definition at line 567 of file stl_pair.h.

◆ operator!=()

constexpr bool operator!= ( const pair< _Iterator1 , _Iterator2 > &  __x,
const pair< _Iterator1 , _Iterator2 > &  __y 
)
related

Uses operator== to find the result.

Definition at line 496 of file stl_pair.h.

◆ operator<()

constexpr bool operator< ( const pair< _Iterator1 , _Iterator2 > &  __x,
const pair< _Iterator1 , _Iterator2 > &  __y 
)
related

Defines a lexicographical order for pairs.

For two pairs of the same type, P is ordered before Q if P.first is less than Q.first, or if P.first and Q.first are equivalent (neither is less than the other) and P.second is less than Q.second.

Definition at line 488 of file stl_pair.h.

◆ operator<=()

constexpr bool operator<= ( const pair< _Iterator1 , _Iterator2 > &  __x,
const pair< _Iterator1 , _Iterator2 > &  __y 
)
related

Uses operator< to find the result.

Definition at line 507 of file stl_pair.h.

◆ operator==()

constexpr bool operator== ( const pair< _Iterator1 , _Iterator2 > &  __x,
const pair< _Iterator1 , _Iterator2 > &  __y 
)
related

Two pairs of the same type are equal iff their members are equal.

Definition at line 466 of file stl_pair.h.

◆ operator>()

constexpr bool operator> ( const pair< _Iterator1 , _Iterator2 > &  __x,
const pair< _Iterator1 , _Iterator2 > &  __y 
)
related

Uses operator< to find the result.

Definition at line 502 of file stl_pair.h.

◆ operator>=()

constexpr bool operator>= ( const pair< _Iterator1 , _Iterator2 > &  __x,
const pair< _Iterator1 , _Iterator2 > &  __y 
)
related

Uses operator< to find the result.

Definition at line 514 of file stl_pair.h.

◆ swap()

constexpr enable_if< __and_< __is_swappable< _Iterator1 >, __is_swappable< _Iterator2 > >::value >::type swap ( pair< _Iterator1 , _Iterator2 > &  __x,
pair< _Iterator1 , _Iterator2 > &  __y 
)
related

Swap overload for pairs. Calls std::pair::swap().

Note
This std::swap overload is not declared in C++03 mode, which has performance implications, e.g. see https://gcc.gnu.org/PR38466

Definition at line 533 of file stl_pair.h.

Member Data Documentation

◆ first

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

The first member.

Definition at line 217 of file stl_pair.h.

◆ second

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

The second member.

Definition at line 218 of file stl_pair.h.


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