Skip to content

Commit 8db6dd0

Browse files
committed
Fix invoke call by using std::__invoke
1 parent 438e43d commit 8db6dd0

File tree

4 files changed

+11
-12
lines changed

4 files changed

+11
-12
lines changed

libcxx/include/__algorithm/for_each.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@
1313
#include <__algorithm/for_each_segment.h>
1414
#include <__config>
1515
#include <__functional/identity.h>
16-
#include <__functional/invoke.h>
1716
#include <__iterator/segmented_iterator.h>
1817
#include <__type_traits/enable_if.h>
18+
#include <__type_traits/invoke.h>
1919

2020
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
2121
# pragma GCC system_header
@@ -27,13 +27,13 @@ template <class _InputIterator, class _Sent, class _Func, class _Proj>
2727
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 _InputIterator
2828
__for_each(_InputIterator __first, _Sent __last, _Func& __f, _Proj& __proj) {
2929
for (; __first != __last; ++__first)
30-
std::invoke(__f, std::invoke(__proj, *__first));
30+
std::__invoke(__f, std::__invoke(__proj, *__first));
3131
return __first;
3232
}
3333

3434
#ifndef _LIBCPP_CXX03_LANG
3535
template <class _SegmentedIterator,
36-
class _Function,
36+
class _Func,
3737
class _Proj,
3838
__enable_if_t<__is_segmented_iterator<_SegmentedIterator>::value, int> = 0>
3939
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void
@@ -45,9 +45,9 @@ __for_each(_SegmentedIterator __first, _SegmentedIterator __last, _Function& __f
4545
}
4646
#endif // !_LIBCPP_CXX03_LANG
4747

48-
template <class _InputIterator, class _Function>
49-
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 _Function
50-
for_each(_InputIterator __first, _InputIterator __last, _Function __f) {
48+
template <class _InputIterator, class _Func>
49+
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 _Func
50+
for_each(_InputIterator __first, _InputIterator __last, _Func __f) {
5151
__identity __proj;
5252
std::__for_each(__first, __last, __f, __proj);
5353
return __f;

libcxx/include/__algorithm/for_each_n.h

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,13 @@
1414
#include <__algorithm/for_each_n_segment.h>
1515
#include <__config>
1616
#include <__functional/identity.h>
17-
#include <__functional/invoke.h>
1817
#include <__iterator/iterator_traits.h>
18+
#include <__iterator/next.h>
1919
#include <__iterator/segmented_iterator.h>
2020
#include <__type_traits/disjunction.h>
2121
#include <__type_traits/enable_if.h>
2222
#include <__type_traits/negation.h>
23+
#include <__type_traits/invoke.h>
2324
#include <__utility/convert_to_integral.h>
2425
#include <__utility/move.h>
2526

@@ -45,7 +46,7 @@ __for_each_n(_InputIterator __first, _Size __orig_n, _Func& __f, _Proj& __proj)
4546
typedef decltype(std::__convert_to_integral(__orig_n)) _IntegralSize;
4647
_IntegralSize __n = __orig_n;
4748
while (__n > 0) {
48-
std::invoke(__f, std::invoke(__proj, *__first));
49+
std::__invoke(__f, std::__invoke(__proj, *__first));
4950
++__first;
5051
--__n;
5152
}
@@ -86,9 +87,9 @@ __for_each_n(_SegmentedIterator __first, _Size __orig_n, _Func& __f, _Proj& __pr
8687

8788
#if _LIBCPP_STD_VER >= 17
8889

89-
template <class _InputIterator, class _Size, class _Function>
90+
template <class _InputIterator, class _Size, class _Func>
9091
inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 _InputIterator
91-
for_each_n(_InputIterator __first, _Size __orig_n, _Function __f) {
92+
for_each_n(_InputIterator __first, _Size __orig_n, _Func __f) {
9293
__identity __proj;
9394
return std::__for_each_n(__first, __orig_n, __f, __proj);
9495
}

libcxx/include/__algorithm/ranges_for_each.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
#include <__concepts/assignable.h>
1616
#include <__config>
1717
#include <__functional/identity.h>
18-
#include <__functional/invoke.h>
1918
#include <__iterator/concepts.h>
2019
#include <__iterator/projected.h>
2120
#include <__ranges/access.h>

libcxx/include/__algorithm/ranges_for_each_n.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
#include <__algorithm/in_fun_result.h>
1414
#include <__config>
1515
#include <__functional/identity.h>
16-
#include <__functional/invoke.h>
1716
#include <__iterator/concepts.h>
1817
#include <__iterator/incrementable_traits.h>
1918
#include <__iterator/iterator_traits.h>

0 commit comments

Comments
 (0)