0からN-1までの数が入った配列

今までは以下のように作っていましたが、

template<std::size_t... Indeces>
constexpr auto make_iota_impl( std::index_sequence<Indeces...> ) { return std::array { Indeces... }; }
template<std::size_t N>
constexpr auto make_iota() { return make_iota_impl( std::make_index_sequence<N>() ); }

C++20ではstd::iotaconstexpr対応したので、

template<std::size_t N>
constexpr auto make_iota() {
    std::array<int, N> ret;
    std::iota(ret.begin(), ret.end(), 0);
    return ret;
}

と書けるようになりました。