Indeed not looked hard enough: In 2.3. Character sets, item 3:
In both the source and execution basic character sets, the value of each character after 0 in the
above list of decimal digits shall be one greater than the value of the previous.
And this is above list of decimal digits:
0 1 2 3 4 5 6 7 8 9
Therefore, an implementation must use a character set where the decimal digits have a contiguous representation. Thus, optimizations where you rely on this property are safe; however, optimizations where you rely on the coniguity of other digits (e.g. ‘a’..’z’) are not portable w.r.t. to the standard (see also header <cctype>
). If you do this, make sure to assert that property.