std::ranges::ViewableRange

< cpp‎ | ranges
Defined in header <ranges>
template<class T>

  concept ViewableRange =

    Range<T> && (__ForwardingRange<T> || View<std::decay_t<T>>);

The ViewableRange 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)