For some subexpression E, the expression
view::reverse(E) is expression-equivalent to:

- If the type of E is a (possibly cv-qualified) specialization of reverse_view, equivalent to E.base().
- Otherwise, if the type of E is cv-qualified
subrange<reverse_iterator<I>, reverse_iterator<I>, K>

for some iterator type I and value K of type subrange_kind,- if K is subrange_kind::sized, equivalent to:
subrange<I, I, K>(E.end().base(), E.begin().base(), E.size())

- otherwise, equivalent to:
subrange<I, I, K>(E.end().base(), E.begin().base())

- if K is subrange_kind::sized, equivalent to:
- Otherwise, equivalent to reverse_view{E}.