[range.prim.ssize] (original) (raw)
Given a subexpression E with type T, let t be an lvalue that denotes the reified object for E.
If ranges::size(t) is ill-formed,ranges::ssize(E) is ill-formed.
Otherwise let D be_make-signed-like-t_<decltype(ranges::size(t))>, orptrdiff_t if it is wider than that type;ranges::ssize(E) is expression-equivalent tostatic_cast<D>(ranges::size(t)).