Skip to content

Commit 54cb5ca

Browse files
authored
[libc++][NFC] Simplify pair a bit (#96165)
1 parent dbd0c03 commit 54cb5ca

File tree

1 file changed

+5
-11
lines changed
  • libcxx/include/__utility

1 file changed

+5
-11
lines changed

libcxx/include/__utility/pair.h

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@
1616
#include <__fwd/array.h>
1717
#include <__fwd/pair.h>
1818
#include <__fwd/tuple.h>
19-
#include <__tuple/sfinae_helpers.h>
20-
#include <__tuple/tuple_element.h>
2119
#include <__tuple/tuple_indices.h>
2220
#include <__tuple/tuple_like_no_subrange.h>
2321
#include <__tuple/tuple_size.h>
@@ -130,19 +128,15 @@ struct _LIBCPP_TEMPLATE_VIS pair
130128
}
131129
};
132130

133-
template <bool _MaybeEnable>
134-
using _CheckArgsDep _LIBCPP_NODEBUG =
135-
typename conditional< _MaybeEnable, _CheckArgs, __check_tuple_constructor_fail>::type;
136-
137-
template <bool _Dummy = true, __enable_if_t<_CheckArgsDep<_Dummy>::__enable_default(), int> = 0>
138-
explicit(!_CheckArgsDep<_Dummy>::__enable_implicit_default()) _LIBCPP_HIDE_FROM_ABI constexpr pair() noexcept(
131+
template <bool _Dummy = true, __enable_if_t<_Dummy && _CheckArgs::__enable_default(), int> = 0>
132+
explicit(!_CheckArgs::__enable_implicit_default()) _LIBCPP_HIDE_FROM_ABI constexpr pair() noexcept(
139133
is_nothrow_default_constructible<first_type>::value && is_nothrow_default_constructible<second_type>::value)
140134
: first(), second() {}
141135

142-
template <bool _Dummy = true,
143-
__enable_if_t<_CheckArgsDep<_Dummy>::template __is_pair_constructible<_T1 const&, _T2 const&>(), int> = 0>
136+
template <bool _Dummy = true,
137+
__enable_if_t<_Dummy && _CheckArgs::template __is_pair_constructible<_T1 const&, _T2 const&>(), int> = 0>
144138
_LIBCPP_HIDE_FROM_ABI
145-
_LIBCPP_CONSTEXPR_SINCE_CXX14 explicit(!_CheckArgsDep<_Dummy>::template __is_implicit<_T1 const&, _T2 const&>())
139+
_LIBCPP_CONSTEXPR_SINCE_CXX14 explicit(!_CheckArgs::template __is_implicit<_T1 const&, _T2 const&>())
146140
pair(_T1 const& __t1, _T2 const& __t2) noexcept(is_nothrow_copy_constructible<first_type>::value &&
147141
is_nothrow_copy_constructible<second_type>::value)
148142
: first(__t1), second(__t2) {}

0 commit comments

Comments
 (0)