subrange<reverse_iterator<I>, reverse_iterator<I>, K>
subrange<I, I, K>(E.end().base(), E.begin().base(), E.size())
subrange<I, I, K>(E.end().base(), E.begin().base())
vector<int> is {0,1,2,3,4}; reverse_view rv {is}; for (int i : rv) cout << i << ' '; // prints: 4 3 2 1 0