From cppreference.com
join_view()requiresstd::default_initializable<V>=default; (1) (since C++20)constexprexplicitjoin_view(Vbase); (2) (since C++20)Constructs a join_view.
1) Default constructor.
the underlying view. After construction,
returns a copy of V().
2) Initializes the underlying view with std::move(base).
Parameters
base - a view of ranges to be flattened Example