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