Otherwise, if
T is a class or enumeration type and
auto(end(t))
is a valid expression whose type models
sentinel_for<iterator_t<T>>
where the meaning of
end is established as-if by performing
argument-dependent lookup only (
[basic.lookup.argdep]),
then
ranges::end(E) is expression-equivalent to
that expression
.