Skip to content

Commit 3a2c975

Browse files
committed
enable-if
1 parent 58be5a7 commit 3a2c975

File tree

1 file changed

+25
-18
lines changed

1 file changed

+25
-18
lines changed

libcxx/include/__algorithm/radix_sort.h

Lines changed: 25 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -218,15 +218,18 @@ __counting_sort_impl(_ForwardIterator __first, _ForwardIterator __last, _RandomA
218218
return __result + __counters[traits::__value_range];
219219
}
220220

221-
template <class _RandomAccessIterator1, class _RandomAccessIterator2, class _Map, class _Radix>
222-
_LIBCPP_HIDE_FROM_ABI
223-
typename enable_if< __radix_sort_traits<__iter_value_type<_RandomAccessIterator1>, _Map, _Radix>::__radix_count == 1,
224-
void>::type
225-
__radix_sort_impl(_RandomAccessIterator1 __first,
226-
_RandomAccessIterator1 __last,
227-
_RandomAccessIterator2 buffer,
228-
_Map __map,
229-
_Radix __radix) {
221+
template <class _RandomAccessIterator1,
222+
class _RandomAccessIterator2,
223+
class _Map,
224+
class _Radix,
225+
enable_if_t< __radix_sort_traits<__iter_value_type<_RandomAccessIterator1>, _Map, _Radix>::__radix_count == 1,
226+
int> = 0>
227+
_LIBCPP_HIDE_FROM_ABI void __radix_sort_impl(
228+
_RandomAccessIterator1 __first,
229+
_RandomAccessIterator1 __last,
230+
_RandomAccessIterator2 buffer,
231+
_Map __map,
232+
_Radix __radix) {
230233
auto __buffer_end = std::__counting_sort_impl(
231234
std::__move_assign_please(__first),
232235
std::__move_assign_please(__last),
@@ -236,15 +239,19 @@ __radix_sort_impl(_RandomAccessIterator1 __first,
236239
std::copy(std::__move_assign_please(buffer), std::__move_assign_please(__buffer_end), __first);
237240
}
238241

239-
template <class _RandomAccessIterator1, class _RandomAccessIterator2, class _Map, class _Radix>
240-
_LIBCPP_HIDE_FROM_ABI typename enable_if<
241-
__radix_sort_traits<__iter_value_type<_RandomAccessIterator1>, _Map, _Radix>::__radix_count % 2 == 0,
242-
void>::type
243-
__radix_sort_impl(_RandomAccessIterator1 __first,
244-
_RandomAccessIterator1 __last,
245-
_RandomAccessIterator2 __buffer_begin,
246-
_Map __map,
247-
_Radix __radix) {
242+
template <
243+
class _RandomAccessIterator1,
244+
class _RandomAccessIterator2,
245+
class _Map,
246+
class _Radix,
247+
enable_if_t< __radix_sort_traits<__iter_value_type<_RandomAccessIterator1>, _Map, _Radix>::__radix_count % 2 == 0,
248+
int> = 0 >
249+
_LIBCPP_HIDE_FROM_ABI void __radix_sort_impl(
250+
_RandomAccessIterator1 __first,
251+
_RandomAccessIterator1 __last,
252+
_RandomAccessIterator2 __buffer_begin,
253+
_Map __map,
254+
_Radix __radix) {
248255
using value_type = __iter_value_type<_RandomAccessIterator1>;
249256
using traits = __radix_sort_traits<value_type, _Map, _Radix>;
250257

0 commit comments

Comments
 (0)