Introduce Vectors::concatenate()
MODIFY
include/vcpkg/base/util.h
include/vcpkg/base/util.h
namespace vcpkg::Util
{
+ template<class Container>
+ using ElementT = std::remove_reference_t<decltype(*begin(std::declval<Container>()))>;
+
+ namespace Vectors
+ {
+ template<class Container, class T = ElementT<Container>>
+ void concatenate(std::vector<T>* augend, const Container& addend)
+ {
+ augend->insert(augend->end(), addend.begin(), addend.end());
+ }
+ }
+
template<class Cont, class Func>
using FmapOut = decltype(std::declval<Func>()(*begin(std::declval<Cont>())));
@@ -71,9 +83,6 @@ namespace vcpkg::Util
return std::find_if(begin(cont), end(cont), pred);
}
- template<class Container>
- using ElementT = std::remove_reference_t<decltype(*begin(std::declval<Container>()))>;
-
template<class Container, class T = ElementT<Container>>
std::vector<T*> element_pointers(Container&& cont)
{

MODIFY
src/vcpkg/install.cpp
src/vcpkg/install.cpp
@@ -145,7 +145,7 @@ namespace vcpkg::Install
continue;
}
- output.insert(output.end(), t.files.begin(), t.files.end());
+ Util::Vectors::concatenate(&output, t.files);
}
std::sort(output.begin(), output.end());

Introduce Vectors::concatenate()