Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
nested_containers.hpp
Go to the documentation of this file.
1// === AUDIT STATUS ===
2// internal: { status: not started, auditors: [], date: YYYY-MM-DD }
3// external_1: { status: not started, auditors: [], date: YYYY-MM-DD }
4// external_2: { status: not started, auditors: [], date: YYYY-MM-DD }
5// =====================
6
7#pragma once
10
11namespace bb {
12
19template <template <typename, size_t> typename InnerContainer,
20 typename ValueType,
21 auto domain_end,
22 typename IS = decltype(std::make_index_sequence<domain_end.size()>())>
24template <template <typename, size_t> typename InnerContainer, typename ValueType, auto domain_end, std::size_t... I>
25struct TupleOfContainersOverArray<InnerContainer, ValueType, domain_end, std::index_sequence<I...>> {
27};
28
29// Helpers
30template <typename ValueType, size_t> using ExtractValueType = ValueType;
31
32template <typename Tuple>
34
35// Types needed for sumcheck and folding.
36template <typename FF, auto LENGTHS>
38
39template <typename FF, auto LENGTHS>
41
42template <typename FF, auto LENGTHS> using ArrayOfValues = HomogeneousTupleToArray<TupleOfValues<FF, LENGTHS>>;
43
44} // namespace bb
Entry point for Barretenberg command-line interface.
Definition api.hpp:5
std::array< std::tuple_element_t< 0, Tuple >, std::tuple_size_v< Tuple > > HomogeneousTupleToArray
typename TupleOfContainersOverArray< ExtractValueType, FF, LENGTHS >::type TupleOfValues
ValueType ExtractValueType
HomogeneousTupleToArray< TupleOfValues< FF, LENGTHS > > ArrayOfValues
typename TupleOfContainersOverArray< bb::Univariate, FF, LENGTHS >::type TupleOfUnivariates
STL namespace.
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
Definition tuple.hpp:13
Generic templates for constructing a container of containers of varying length, where the various len...