19template <
typename T, std::size_t... Sizes>
constexpr auto array_concat(
const std::array<T, Sizes>&... arrays) {
20 constexpr std::size_t size = (Sizes + ...);
22 auto all = std::tuple_cat(arrays...);
24 return [&]<std::size_t... I>(std::index_sequence<I...>) {
25 return std::array<T, size> { { std::get<I>(all)... } };
26 }(std::make_index_sequence<size>());