barretenberg
Loading...
Searching...
No Matches
std_vector.hpp
1#pragma once
2#include <vector>
3
4// TODO(https://github.com/AztecProtocol/barretenberg/issues/794) namespace this once convenient
12template <typename T> std::vector<T> concatenate(const std::vector<T>& vector, const auto&... vectors)
13{
14 std::vector<T> concatenated;
15 // Reserve our final space
16 concatenated.reserve(vector.size() + (vectors.size() + ...));
17
18 auto append = [&](const auto& vec) { std::copy(vec.begin(), vec.end(), std::back_inserter(concatenated)); };
19
20 append(vector);
21 // Unpack and append each std::vector's elements to concatenated
22 (append(vectors), ...);
23
24 return concatenated;
25}