std::ranges::viewable_range

From cppreference.com
< cpp‎ | ranges
 
 
 
Defined in header <ranges>
template<class T>

  concept viewable_range =

    ranges::range<T> && (__ForwardingRange<T> || ranges::view<std::decay_t<T>>);

The viewable_range concept is a refinement of range that describes a range that can be safely converted into a view.

(note __ForwardingRange is the exposition-only concept defined in range)