9template <
typename C>
C slice(
C const& container,
size_t start)
11 auto b = container.begin();
12 auto e = container.end();
17template <
typename C>
C slice(
C const& container,
size_t start,
size_t end)
19 auto b = container.begin();
20 auto e = container.begin();
29 for (
auto& e : to_join) {
30 result.insert(result.end(), e.begin(), e.end());
35inline std::string
join(std::vector<std::string>
const& to_join, std::string
const& with =
",")
37 auto it = to_join.begin();
38 std::string result(*it++);
39 for (; it != to_join.end(); ++it) {
46template <
template <
typename,
typename...>
typename Cont,
typename InnerCont,
typename... Args>
47InnerCont
flatten(Cont<InnerCont, Args...>
const& in)
51 result.insert(result.end(), e.begin(), e.end());
60 auto const& begin = vec.begin();
61 auto const& end = vec.end();
63 auto const& itr =
std::find(begin, end, item);
69template <
template <
typename,
typename...>
typename Cont,
typename Inner,
typename... Args>
70Inner
sum(Cont<Inner, Args...>
const& in)
80template <
template <
typename,
typename...>
typename Cont,
typename Left,
typename Right,
typename... Args>
85 result.first += e.first;
86 result.second += e.second;
Entry point for Barretenberg command-line interface.
std::pair< Left, Right > sum_pairs(Cont< std::pair< Left, Right >, Args... > const &in)
InnerCont flatten(Cont< InnerCont, Args... > const &in)
C slice(C const &container, size_t start)
int64_t index_of(std::vector< T > const &vec, T const &item)
Inner sum(Cont< Inner, Args... > const &in)
C join(std::initializer_list< C > to_join)
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept