libstdc++
|
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) |
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< _U1, _U2 > &__y) requires requires |
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) |
A pair of iterators. The usual iterator operations are applied to both child iterators.
Definition at line 45 of file iterator.h.
|
inherited |
The type of the first
member.
Definition at line 305 of file stl_pair.h.
|
inherited |
The type of the second
member.
Definition at line 306 of file stl_pair.h.
|
inlineconstexprnoexceptinherited |
Swap the first members and then the second members.
Definition at line 321 of file stl_pair.h.
|
related |
A convenience wrapper for creating a pair from two objects.
__x | The first object. |
__y | The second object. |
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 1164 of file stl_pair.h.
|
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 1031 of file stl_pair.h.
|
related |
Two pairs are equal iff their members are equal.
Definition at line 1031 of file stl_pair.h.
|
related |
Swap overload for pairs. Calls std::pair::swap().
Definition at line 1121 of file stl_pair.h.
|
inherited |
The first member.
Definition at line 308 of file stl_pair.h.
|
inherited |
The second member.
Definition at line 309 of file stl_pair.h.