19 #include <type_traits>
26 template <
typename Vector>
29 template <
typename Vector,
typename... Vectors>
33 if (std::is_rvalue_reference<decltype(v)>::value) {
34 sink.reserve(sink.size() + v.size());
35 std::move(v.begin(), v.end(), std::back_inserter(sink));
37 sink.insert(sink.end(), v.begin(), v.end());
43 template <
typename Vector,
typename... Vectors>
47 merged, std::forward<Vector>(v), std::forward<Vectors>(vs)...);
48 std::sort(merged.begin(), merged.end());
49 merged.erase(std::unique(merged.begin(), merged.end()), merged.end());
void mergeVectorsImpl(Vector &)
Definition: utils-inl.h:27
Vector mergeVectors(Vector &&v, Vectors &&...vs)
Definition: utils-inl.h:44