The std::views::counted is the C++20 range equivalent to the std::counted_iterator, producing a range from an iterator and the number of elements.
Similar to std::views::take, this view also handles contiguous and random-access-sized ranges efficiently.
For contiguous ranges, it produces a std::span; for random-access-sized ranges, it resolves the end iterator.
Compiler Explorer link: https://compiler-explorer.com/z/5nsrsqxTx