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

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

SYNOPSIS

#include <iterator.h>

Inherits std::pair< _Iterator1, _Iterator2 >.

  Public Types
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

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

  Public Attributes
_Iterator1 first
The first member.
_Iterator2 second
The second member.

  Related Symbols
(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.

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.

Member Typedef Documentation

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

The type of the first member.

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

The type of the second member.

Member Function Documentation

  constexpr void std::pair< _Iterator1 , _Iterator2 >::swap (pair< _Iterator1, _Iterator2 > & __p) [inline], [constexpr], [noexcept], [inherited]

Swap the first members and then the second members.

Friends And Related Symbol Documentation

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

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

Uses operator== to find the result.

  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.

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

Uses operator< to find the result.

  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.

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

Uses operator< to find the result.

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

Uses operator< to find the result.

  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

Member Data Documentation

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

The first member.

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

The second member.

Author

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