@@ -654,14 +654,16 @@ TaskGroup<Tp, Arg, MaxDepth>::join(Up accum)
654
654
{
655
655
this ->wait ();
656
656
for (auto & itr : m_task_list)
657
- {
658
- using RetT = decay_t <decltype (itr->get ())>;
659
- accum = std::move (m_join (std::ref (accum), std::forward<RetT>(itr->get ())));
657
+ {
658
+ auto && ret = itr->get ();
659
+ using RetT = decay_t <decltype (ret)>;
660
+ accum = std::move (m_join (std::ref (accum), std::forward<RetT>(ret)));
660
661
}
661
662
for (auto & itr : m_future_list)
662
- {
663
- using RetT = decay_t <decltype (itr.get ())>;
664
- accum = std::move (m_join (std::ref (accum), std::forward<RetT>(itr.get ())));
663
+ {
664
+ auto && ret = itr.get ();
665
+ using RetT = decay_t <decltype (ret)>;
666
+ accum = std::move (m_join (std::ref (accum), std::forward<RetT>(ret)));
665
667
}
666
668
this ->clear ();
667
669
return accum;
@@ -691,13 +693,15 @@ TaskGroup<Tp, Arg, MaxDepth>::join()
691
693
this ->wait ();
692
694
for (auto & itr : m_task_list)
693
695
{
694
- using RetT = decay_t <decltype (itr->get ())>;
695
- m_join (std::forward<RetT>(itr->get ()));
696
+ auto && ret = itr->get ();
697
+ using RetT = decay_t <decltype (ret)>;
698
+ m_join (std::forward<RetT>(ret));
696
699
}
697
700
for (auto & itr : m_future_list)
698
701
{
699
- using RetT = decay_t <decltype (itr.get ())>;
700
- m_join (std::forward<RetT>(itr.get ()));
702
+ auto && ret = itr.get ();
703
+ using RetT = decay_t <decltype (ret)>;
704
+ m_join (std::forward<RetT>(ret));
701
705
}
702
706
this ->clear ();
703
707
}
0 commit comments