cmAlgorithm: Extend cmAppend capabilities

This commit is contained in:
Marc Chevrier
2019-11-07 18:19:49 +01:00
parent eb306700d5
commit 101b5288ff

View File

@@ -8,6 +8,7 @@
#include <algorithm>
#include <functional>
#include <iterator>
#include <memory>
#include <unordered_set>
#include <utility>
#include <vector>
@@ -144,6 +145,13 @@ void cmDeleteAll(Range const& r)
ContainerAlgorithms::DefaultDeleter<Range>());
}
template <typename T>
void cmAppend(std::vector<T*>& v, std::vector<std::unique_ptr<T>> const& r)
{
std::transform(r.begin(), r.end(), std::back_inserter(v),
[](const std::unique_ptr<T>& item) { return item.get(); });
}
template <typename T, typename Range>
void cmAppend(std::vector<T>& v, Range const& r)
{