__gnu_parallel::_IteratorPair< _Iterator1, _Iterator2, _IteratorCategory >(3) Library Functions Manual __gnu_parallel::_IteratorPair< _Iterator1, _Iterator2, _IteratorCategory >(3)

__gnu_parallel::_IteratorPair< _Iterator1, _Iterator2, _IteratorCategory > - A pair of iterators. The usual iterator operations are applied to both child iterators.

#include <iterator.h>

Inherits std::pair< _Iterator1, _Iterator2 >.


typedef std::iterator_traits< _Iterator1 > _TraitsType
typedef _TraitsType::difference_type difference_type
typedef _Iterator1 first_type
The type of the first member. typedef _IteratorCategory iterator_category
typedef _IteratorPair * pointer
typedef _IteratorPair & reference
typedef _Iterator2 second_type
The type of the second member. typedef void value_type


_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)
constexpr void swap (pair &__p) noexcept(__and_< __is_nothrow_swappable< _Iterator1 >, __is_nothrow_swappable< _Iterator2 > >::value)
Swap the first members and then the second members.


_Iterator1 first
The first member. _Iterator2 second
The second member.

(Note that these are not member symbols.)
constexpr pair< typename __decay_and_strip< _Iterator1 >::__type, typename __decay_and_strip< _Iterator2 >::__type > make_pair (_Iterator1 &&__x, _Iterator2 &&__y)
A convenience wrapper for creating a pair from two objects.



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)
Two pairs of the same type are equal iff their members are equal. 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)
Uses operator== to find the result. constexpr bool operator> (const pair< _Iterator1, _Iterator2 > &__x, const pair< _Iterator1, _Iterator2 > &__y)
Uses operator< to find the result. constexpr bool operator<= (const pair< _Iterator1, _Iterator2 > &__x, const pair< _Iterator1, _Iterator2 > &__y)
Uses operator< to find the result. constexpr bool operator>= (const pair< _Iterator1, _Iterator2 > &__x, const pair< _Iterator1, _Iterator2 > &__y)
Uses operator< to find the result.

class __gnu_parallel::_IteratorPair< _Iterator1, _Iterator2, _IteratorCategory >"A pair of iterators. The usual iterator operations are applied to both child iterators.

The type of the first member.

The type of the second member.

Swap the first members and then the second members.

A convenience wrapper for creating a pair from two objects.

Parameters

__x The first object.
__y The 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.

Uses operator== to find the result.

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.

Uses operator< to find the result.

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

Uses operator< to find the result.

Uses operator< to find the result.

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

The first member.

The second member.

Generated automatically by Doxygen for libstdc++ from the source code.

libstdc++