Skip to content

Commit

Permalink
libstdc++/pair: Guard P2321R2 changes with __glibcxx_ranges_zip
Browse files Browse the repository at this point in the history
Similar to the previous change for <tuple>, but since stl_pair.h is an
internal header we need to use the corresponding internal macro instead.

libstdc++-v3/ChangeLog:

	* include/bits/stl_pair.h [__cplusplus > 202002L]:
	Guard P2321R2 changes with __glibcxx_ranges_zip instead.
  • Loading branch information
Patrick Palka authored and ouuleilei-bot committed Jan 17, 2024
1 parent c2d62cd commit 2e11e41
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions libstdc++-v3/include/bits/stl_pair.h
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
swap(second, __p.second);
}

#if __cplusplus > 202002L
#if __glibcxx_ranges_zip // >= C++23
// As an extension, we constrain the const swap member function in order
// to continue accepting explicit instantiation of pairs whose elements
// are not all const swappable. Without this constraint, such an
Expand Down Expand Up @@ -353,7 +353,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
constexpr explicit(!_S_convertible<_U1, _U2>())
pair(pair<_U1, _U2>&&) = delete;

#if __cplusplus > 202002L
#if __glibcxx_ranges_zip // >= C++23
/// Converting constructor from a non-const `pair<U1, U2>` lvalue
template<typename _U1, typename _U2>
requires (_S_constructible<_U1&, _U2&>()) && (!_S_dangles<_U1&, _U2&>())
Expand Down Expand Up @@ -457,7 +457,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
return *this;
}

#if __cplusplus > 202002L
#if __glibcxx_ranges_zip // >= C++23
/// Copy assignment operator (const)
constexpr const pair&
operator=(const pair& __p) const
Expand Down Expand Up @@ -880,7 +880,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
noexcept(noexcept(__x.swap(__y)))
{ __x.swap(__y); }

#if __cplusplus > 202002L
#if __glibcxx_ranges_zip // >= C++23
template<typename _T1, typename _T2>
requires is_swappable_v<const _T1> && is_swappable_v<const _T2>
constexpr void
Expand Down Expand Up @@ -1094,7 +1094,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
get(const pair<_Up, _Tp>&& __p) noexcept
{ return std::move(__p.second); }

#if __cplusplus > 202002L
#if __glibcxx_ranges_zip // >= C++23
template<typename _T1, typename _T2, typename _U1, typename _U2,
template<typename> class _TQual, template<typename> class _UQual>
requires requires { typename pair<common_reference_t<_TQual<_T1>, _UQual<_U1>>,
Expand Down

0 comments on commit 2e11e41

Please sign in to comment.