aboutsummaryrefslogtreecommitdiff
path: root/contrib/llvm-project/libcxx/include/__algorithm/partition_point.h
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2023-12-25 17:35:41 +0000
committerDimitry Andric <dim@FreeBSD.org>2024-04-19 21:12:22 +0000
commite710425beb3de4adcf4d601da2f224503f876b6d (patch)
treeaca526ac7dde15560ae28f549319b25647f28363 /contrib/llvm-project/libcxx/include/__algorithm/partition_point.h
parent1bc094c4a0e74dba87a5eb98cf138426a19f702d (diff)
Diffstat (limited to 'contrib/llvm-project/libcxx/include/__algorithm/partition_point.h')
-rw-r--r--contrib/llvm-project/libcxx/include/__algorithm/partition_point.h34
1 files changed, 15 insertions, 19 deletions
diff --git a/contrib/llvm-project/libcxx/include/__algorithm/partition_point.h b/contrib/llvm-project/libcxx/include/__algorithm/partition_point.h
index a61ed5ec5b41..504dbf1d1a05 100644
--- a/contrib/llvm-project/libcxx/include/__algorithm/partition_point.h
+++ b/contrib/llvm-project/libcxx/include/__algorithm/partition_point.h
@@ -21,26 +21,22 @@
_LIBCPP_BEGIN_NAMESPACE_STD
-template<class _ForwardIterator, class _Predicate>
+template <class _ForwardIterator, class _Predicate>
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 _ForwardIterator
-partition_point(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred)
-{
- typedef typename iterator_traits<_ForwardIterator>::difference_type difference_type;
- difference_type __len = std::distance(__first, __last);
- while (__len != 0)
- {
- difference_type __l2 = std::__half_positive(__len);
- _ForwardIterator __m = __first;
- std::advance(__m, __l2);
- if (__pred(*__m))
- {
- __first = ++__m;
- __len -= __l2 + 1;
- }
- else
- __len = __l2;
- }
- return __first;
+partition_point(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred) {
+ typedef typename iterator_traits<_ForwardIterator>::difference_type difference_type;
+ difference_type __len = std::distance(__first, __last);
+ while (__len != 0) {
+ difference_type __l2 = std::__half_positive(__len);
+ _ForwardIterator __m = __first;
+ std::advance(__m, __l2);
+ if (__pred(*__m)) {
+ __first = ++__m;
+ __len -= __l2 + 1;
+ } else
+ __len = __l2;
+ }
+ return __first;
}
_LIBCPP_END_NAMESPACE_STD