Use Utils::setUnionMerge

And fix some details of the implementations.

Change-Id: I8e77fee4b95658a69ef1656bb406811de091ce16
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
This commit is contained in:
Marco Bubke
2018-08-30 14:13:23 +02:00
parent a86867eb8a
commit be9537667f
3 changed files with 15 additions and 95 deletions

View File

@@ -42,6 +42,7 @@
#include <QStringList>
#include <memory>
#include <type_traits>
namespace Utils
{
@@ -808,7 +809,7 @@ OutputIt setUnionMerge(InputIt1 first1,
last2,
d_first,
merge,
std::less<decltype(*first1)>{});
std::less<std::decay_t<decltype(*first1)>>{});
}
template<class OutputContainer,
@@ -843,9 +844,9 @@ OutputContainer setUnionMerge(InputContainer1 &&input1,
InputContainer2 &&input2,
Merge merge)
{
return setUnionMerge(std::forward<InputContainer1>(input1),
std::forward<InputContainer2>(input2),
merge,
std::less<decltype(*std::begin(input1))>{});
return setUnionMerge<OutputContainer>(std::forward<InputContainer1>(input1),
std::forward<InputContainer2>(input2),
merge,
std::less<std::decay_t<decltype(*std::begin(input1))>>{});
}
} // namespace Utils