Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
std_vector.hpp
Go to the documentation of this file.
1#pragma once
2#include <vector>
3
4namespace bb {
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}
26} // namespace bb
Entry point for Barretenberg command-line interface.
RefArray< T,(Ns+...)> constexpr concatenate(const RefArray< T, Ns > &... ref_arrays)
Concatenates multiple RefArray objects into a single RefArray.
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
Definition tuple.hpp:13