@@ -67,7 +67,7 @@ _LIBCPP_BEGIN_NAMESPACE_STD
6767#if _LIBCPP_STD_VER >= 14
6868
6969template <class _InputIterator , class _OutputIterator >
70- _LIBCPP_HIDE_FROM_ABI pair<_OutputIterator, __iter_value_type<_InputIterator>>
70+ _LIBCPP_HIDE_FROM_ABI constexpr pair<_OutputIterator, __iter_value_type<_InputIterator>>
7171__partial_sum_max (_InputIterator __first, _InputIterator __last, _OutputIterator __result) {
7272 if (__first == __last)
7373 return {__result, 0 };
@@ -109,15 +109,15 @@ struct __counting_sort_traits {
109109};
110110
111111template <class _Radix , class _Integer >
112- _LIBCPP_HIDE_FROM_ABI auto __nth_radix (size_t __radix_number, _Radix __radix, _Integer __n) {
112+ _LIBCPP_HIDE_FROM_ABI constexpr auto __nth_radix (size_t __radix_number, _Radix __radix, _Integer __n) {
113113 static_assert (is_unsigned<_Integer>::value);
114114 using __traits = __counting_sort_traits<_Integer, _Radix>;
115115
116116 return __radix (static_cast <_Integer>(__n >> __traits::__radix_size * __radix_number));
117117}
118118
119119template <class _ForwardIterator , class _Map , class _RandomAccessIterator >
120- _LIBCPP_HIDE_FROM_ABI void
120+ _LIBCPP_HIDE_FROM_ABI constexpr void
121121__collect (_ForwardIterator __first, _ForwardIterator __last, _Map __map, _RandomAccessIterator __counters) {
122122 using __value_type = __iter_value_type<_ForwardIterator>;
123123 using __traits = __counting_sort_traits<__value_type, _Map>;
@@ -129,7 +129,7 @@ __collect(_ForwardIterator __first, _ForwardIterator __last, _Map __map, _Random
129129}
130130
131131template <class _ForwardIterator , class _RandomAccessIterator1 , class _Map , class _RandomAccessIterator2 >
132- _LIBCPP_HIDE_FROM_ABI void
132+ _LIBCPP_HIDE_FROM_ABI constexpr void
133133__dispose (_ForwardIterator __first,
134134 _ForwardIterator __last,
135135 _RandomAccessIterator1 __result,
@@ -147,7 +147,7 @@ template <class _ForwardIterator,
147147 class _RandomAccessIterator1 ,
148148 class _RandomAccessIterator2 ,
149149 size_t ... _Radices>
150- _LIBCPP_HIDE_FROM_ABI bool __collect_impl (
150+ _LIBCPP_HIDE_FROM_ABI constexpr bool __collect_impl (
151151 _ForwardIterator __first,
152152 _ForwardIterator __last,
153153 _Map __map,
@@ -177,7 +177,7 @@ _LIBCPP_HIDE_FROM_ABI bool __collect_impl(
177177}
178178
179179template <class _ForwardIterator , class _Map , class _Radix , class _RandomAccessIterator1 , class _RandomAccessIterator2 >
180- _LIBCPP_HIDE_FROM_ABI bool
180+ _LIBCPP_HIDE_FROM_ABI constexpr bool
181181__collect (_ForwardIterator __first,
182182 _ForwardIterator __last,
183183 _Map __map,
@@ -191,7 +191,7 @@ __collect(_ForwardIterator __first,
191191}
192192
193193template <class _BidirectionalIterator , class _RandomAccessIterator1 , class _Map , class _RandomAccessIterator2 >
194- _LIBCPP_HIDE_FROM_ABI void __dispose_backward (
194+ _LIBCPP_HIDE_FROM_ABI constexpr void __dispose_backward (
195195 _BidirectionalIterator __first,
196196 _BidirectionalIterator __last,
197197 _RandomAccessIterator1 __result,
@@ -206,7 +206,7 @@ _LIBCPP_HIDE_FROM_ABI void __dispose_backward(
206206}
207207
208208template <class _ForwardIterator , class _RandomAccessIterator , class _Map >
209- _LIBCPP_HIDE_FROM_ABI _RandomAccessIterator
209+ _LIBCPP_HIDE_FROM_ABI constexpr _RandomAccessIterator
210210__counting_sort_impl (_ForwardIterator __first, _ForwardIterator __last, _RandomAccessIterator __result, _Map __map) {
211211 using __value_type = __iter_value_type<_ForwardIterator>;
212212 using __traits = __counting_sort_traits<__value_type, _Map>;
@@ -225,7 +225,7 @@ template <class _RandomAccessIterator1,
225225 class _Radix ,
226226 enable_if_t < __radix_sort_traits<__iter_value_type<_RandomAccessIterator1>, _Map, _Radix>::__radix_count == 1 ,
227227 int > = 0 >
228- _LIBCPP_HIDE_FROM_ABI void __radix_sort_impl (
228+ _LIBCPP_HIDE_FROM_ABI constexpr void __radix_sort_impl (
229229 _RandomAccessIterator1 __first,
230230 _RandomAccessIterator1 __last,
231231 _RandomAccessIterator2 __buffer,
@@ -245,7 +245,7 @@ template <
245245 class _Radix ,
246246 enable_if_t < __radix_sort_traits<__iter_value_type<_RandomAccessIterator1>, _Map, _Radix>::__radix_count % 2 == 0 ,
247247 int > = 0 >
248- _LIBCPP_HIDE_FROM_ABI void __radix_sort_impl (
248+ _LIBCPP_HIDE_FROM_ABI constexpr void __radix_sort_impl (
249249 _RandomAccessIterator1 __first,
250250 _RandomAccessIterator1 __last,
251251 _RandomAccessIterator2 __buffer_begin,
@@ -307,7 +307,7 @@ struct __low_byte_fn {
307307};
308308
309309template <class _RandomAccessIterator1 , class _RandomAccessIterator2 , class _Map , class _Radix >
310- _LIBCPP_HIDE_FROM_ABI void
310+ _LIBCPP_HIDE_FROM_ABI constexpr void
311311__radix_sort (_RandomAccessIterator1 __first,
312312 _RandomAccessIterator1 __last,
313313 _RandomAccessIterator2 __buffer,
@@ -318,7 +318,7 @@ __radix_sort(_RandomAccessIterator1 __first,
318318}
319319
320320template <class _RandomAccessIterator1 , class _RandomAccessIterator2 >
321- _LIBCPP_HIDE_FROM_ABI void
321+ _LIBCPP_HIDE_FROM_ABI constexpr void
322322__radix_sort (_RandomAccessIterator1 __first, _RandomAccessIterator1 __last, _RandomAccessIterator2 __buffer) {
323323 std::__radix_sort (__first, __last, __buffer, __identity{}, __low_byte_fn{});
324324}
0 commit comments