libstdc++: __gnu_parallel::_IteratorPair< _Iterator1, _Iterator2, _IteratorCategory (original) (raw)

#include <[iterator.h](a01025%5Fsource.html)>

Public Types
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)
constexpr void swap (pair &__p) noexcept(__and_< __is_nothrow_swappable< _Iterator1 >, __is_nothrow_swappable< _Iterator2 > >::value)
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)
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< _U1, _U2 > &__y)
constexpr common_comparison_category_t< __detail::__synth3way_t< _Iterator1, _U1 >, __detail::__synth3way_t< _Iterator2, _U2 > > operator (const pair< _Iterator1, _Iterator2 > &__x, const pair< _U1, _U2 > &__y)

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.

_TraitsType

template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >

difference_type

template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >

first_type

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

The type of the first member.

Definition at line 287 of file stl_pair.h.

iterator_category

template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >

pointer

template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >

reference

template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >

second_type

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

The type of the second member.

Definition at line 288 of file stl_pair.h.

value_type

template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >

template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >

_IteratorPair() [2/2]

template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >

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

operator _Iterator2()

template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >

operator+()

template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >

operator++() [1/2]

template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >

operator++() [2/2]

template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >

operator-()

template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >

operator--() [1/2]

template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >

operator--() [2/2]

template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >

operator=()

template<typename _Iterator1 , typename _Iterator2 , typename _IteratorCategory >

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 303 of file stl_pair.h.

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

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

Definition at line 1146 of file stl_pair.h.

operator()

constexpr common_comparison_category_t< __detail::__synth3way_t< _Iterator1 , _U1 >, __detail::__synth3way_t< _Iterator2 , _U2 > > operator<=> ( const pair< _Iterator1 , _Iterator2 > & __x, const pair< _U1, _U2 > & __y ) related

Defines a lexicographical order for pairs.

For two pairs of comparable types, 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 1029 of file stl_pair.h.

operator==()

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

Two pairs are equal iff their members are equal.

Definition at line 1013 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 1103 of file stl_pair.h.

first

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

second

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

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