Skip to content

Commit 52be457

Browse files
Use standard C++20 traits in minmax algorithms as requested by maintainer
1 parent 2f805eb commit 52be457

1 file changed

Lines changed: 18 additions & 24 deletions

File tree

  • libs/core/algorithms/include/hpx/parallel/algorithms

libs/core/algorithms/include/hpx/parallel/algorithms/minmax.hpp

Lines changed: 18 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -403,9 +403,8 @@ namespace hpx::parallel {
403403
if (count == 0 || count == 1)
404404
return it;
405405

406-
using element_type = hpx::traits::proxy_value_t<
407-
std::decay_t<hpx::util::invoke_result_t<Proj,
408-
hpx::traits::iter_reference_t<FwdIter>>>>;
406+
using element_type = hpx::traits::proxy_value_t<std::decay_t<
407+
std::invoke_result_t<Proj, std::iter_reference_t<FwdIter>>>>;
409408

410409
auto smallest = it;
411410

@@ -443,9 +442,8 @@ namespace hpx::parallel {
443442

444443
auto smallest = *it;
445444

446-
using element_type = hpx::traits::proxy_value_t<
447-
std::decay_t<hpx::util::invoke_result_t<Proj,
448-
hpx::traits::iter_reference_t<Iter>>>>;
445+
using element_type = hpx::traits::proxy_value_t<std::decay_t<
446+
std::invoke_result_t<Proj, std::iter_reference_t<Iter>>>>;
449447

450448
element_type value = HPX_INVOKE(proj, *smallest);
451449
util::loop_n<std::decay_t<ExPolicy>>(
@@ -475,8 +473,8 @@ namespace hpx::parallel {
475473
return first;
476474

477475
using element_type = hpx::traits::proxy_value_t<
478-
std::decay_t<hpx::util::invoke_result_t<Proj,
479-
hpx::traits::iter_reference_t<FwdIter>>>>;
476+
std::decay_t<std::invoke_result_t<Proj,
477+
std::iter_reference_t<FwdIter>>>>;
480478

481479
auto smallest = first;
482480

@@ -558,9 +556,8 @@ namespace hpx::parallel {
558556
if (count == 0 || count == 1)
559557
return it;
560558

561-
using element_type = hpx::traits::proxy_value_t<
562-
std::decay_t<hpx::util::invoke_result_t<Proj,
563-
hpx::traits::iter_reference_t<FwdIter>>>>;
559+
using element_type = hpx::traits::proxy_value_t<std::decay_t<
560+
std::invoke_result_t<Proj, std::iter_reference_t<FwdIter>>>>;
564561

565562
auto largest = it;
566563

@@ -597,9 +594,8 @@ namespace hpx::parallel {
597594

598595
auto largest = *it;
599596

600-
using element_type = hpx::traits::proxy_value_t<
601-
std::decay_t<hpx::util::invoke_result_t<Proj,
602-
hpx::traits::iter_reference_t<Iter>>>>;
597+
using element_type = hpx::traits::proxy_value_t<std::decay_t<
598+
std::invoke_result_t<Proj, std::iter_reference_t<Iter>>>>;
603599

604600
element_type value = HPX_INVOKE(proj, *largest);
605601
util::loop_n<std::decay_t<ExPolicy>>(
@@ -629,8 +625,8 @@ namespace hpx::parallel {
629625
return first;
630626

631627
using element_type = hpx::traits::proxy_value_t<
632-
std::decay_t<hpx::util::invoke_result_t<Proj,
633-
hpx::traits::iter_reference_t<FwdIter>>>>;
628+
std::decay_t<std::invoke_result_t<Proj,
629+
std::iter_reference_t<FwdIter>>>>;
634630

635631
auto largest = first;
636632

@@ -714,9 +710,8 @@ namespace hpx::parallel {
714710
if (count == 0 || count == 1)
715711
return result;
716712

717-
using element_type = hpx::traits::proxy_value_t<
718-
std::decay_t<hpx::util::invoke_result_t<Proj,
719-
hpx::traits::iter_reference_t<FwdIter>>>>;
713+
using element_type = hpx::traits::proxy_value_t<std::decay_t<
714+
std::invoke_result_t<Proj, std::iter_reference_t<FwdIter>>>>;
720715

721716
element_type min_value = HPX_INVOKE(proj, *it);
722717
element_type max_value = min_value;
@@ -756,9 +751,8 @@ namespace hpx::parallel {
756751
if (count == 1)
757752
return *it;
758753

759-
using element_type = hpx::traits::proxy_value_t<
760-
std::decay_t<hpx::util::invoke_result_t<Proj,
761-
hpx::traits::iter_reference_t<Iter>>>>;
754+
using element_type = hpx::traits::proxy_value_t<std::decay_t<
755+
std::invoke_result_t<Proj, std::iter_reference_t<Iter>>>>;
762756

763757
auto result = *it;
764758

@@ -806,8 +800,8 @@ namespace hpx::parallel {
806800
}
807801

808802
using element_type = hpx::traits::proxy_value_t<
809-
std::decay_t<hpx::util::invoke_result_t<Proj,
810-
hpx::traits::iter_reference_t<FwdIter>>>>;
803+
std::decay_t<std::invoke_result_t<Proj,
804+
std::iter_reference_t<FwdIter>>>>;
811805

812806
element_type min_value = HPX_INVOKE(proj, *min);
813807
element_type max_value = HPX_INVOKE(proj, *max);

0 commit comments

Comments
 (0)