|
1366 | 1366 |
|
1367 | 1367 | \pnum
|
1368 | 1368 | For every integer-class type \tcode{I},
|
1369 |
| -let \tcode{B(I)} be a unique hypothetical extended integer type |
| 1369 | +let $B(\tcode{I})$ be a unique hypothetical extended integer type |
1370 | 1370 | of the same signedness with the same width\iref{basic.fundamental} as \tcode{I}.
|
1371 | 1371 | \begin{note}
|
1372 |
| -The corresponding hypothetical specialization \tcode{numeric_limits<B(I)>} |
1373 |
| -meets the requirements on \tcode{numeric_limits} specializations |
| 1372 | +The corresponding hypothetical specialization \tcode{numeric_limits<$B(\tcode{I})$>} |
| 1373 | +Meets the requirements on \tcode{numeric_limits} specializations |
1374 | 1374 | for integral types\iref{numeric.limits}.
|
1375 | 1375 | \end{note}
|
1376 |
| -For every integral type \tcode{J}, let \tcode{B(J)} be the same type as \tcode{J}. |
| 1376 | +For every integral type \tcode{J}, let $B(\tcode{J})$ be the same type as \tcode{J}. |
1377 | 1377 |
|
1378 | 1378 | \pnum
|
1379 | 1379 | Expressions of integer-class type are
|
|
1393 | 1393 | let \tcode{b} be an object of integer-like type \tcode{I2}
|
1394 | 1394 | such that the expression \tcode{b} is implicitly convertible to \tcode{I},
|
1395 | 1395 | let \tcode{x} and \tcode{y} be, respectively,
|
1396 |
| -objects of type \tcode{B(I)} and \tcode{B(I2)} as described above |
| 1396 | +objects of type $B(\tcode{I})$ and $B(\tcode{I2})$ as described above |
1397 | 1397 | that represent the same values as \tcode{a} and \tcode{b}, and
|
1398 | 1398 | let \tcode{c} be an lvalue of any integral type.
|
1399 | 1399 | \begin{itemize}
|
|
1414 | 1414 | is well-formed, \tcode{@a} shall also be well-formed
|
1415 | 1415 | and have the same value, effects, and value category as \tcode{@x}.
|
1416 | 1416 | If \tcode{@x} has type \tcode{bool}, so too does \tcode{@a};
|
1417 |
| - if \tcode{@x} has type \tcode{B(I)}, then \tcode{@a} has type \tcode{I}. |
| 1417 | + if \tcode{@x} has type $B(\tcode{I})$, then \tcode{@a} has type \tcode{I}. |
1418 | 1418 | \item
|
1419 | 1419 | For every assignment operator \tcode{@=}
|
1420 | 1420 | for which \tcode{c @= x} is well-formed,
|
|
1435 | 1435 | \tcode{a @ b} and \tcode{b @ a} shall also be well-formed and
|
1436 | 1436 | shall have the same value, effects, and value category as
|
1437 | 1437 | \tcode{x @ y} and \tcode{y @ x}, respectively.
|
1438 |
| - If \tcode{x @ y} or \tcode{y @ x} has type \tcode{B(I)}, |
| 1438 | + If \tcode{x @ y} or \tcode{y @ x} has type $B(\tcode{I})$, |
1439 | 1439 | then \tcode{a @ b} or \tcode{b @ a}, respectively, has type \tcode{I};
|
1440 |
| - if \tcode{x @ y} or \tcode{y @ x} has type \tcode{B(I2)}, |
| 1440 | + if \tcode{x @ y} or \tcode{y @ x} has type $B(\tcode{I2})$, |
1441 | 1441 | then \tcode{a @ b} or \tcode{b @ a}, respectively, has type \tcode{I2};
|
1442 | 1442 | if \tcode{x @ y} or \tcode{y @ x} has any other type,
|
1443 | 1443 | then \tcode{a @ b} or \tcode{b @ a}, respectively, has that type.
|
|
1460 | 1460 | For every (possibly cv-qualified) integer-class type \tcode{I},
|
1461 | 1461 | \tcode{numeric_limits<I>} is specialized such that
|
1462 | 1462 | each static data member \tcode{m}
|
1463 |
| -has the same value as \tcode{numeric_limits<B(I)>::m}, and |
| 1463 | +has the same value as \tcode{numeric_limits<$B(\tcode{I})$>::m}, and |
1464 | 1464 | each static member function \tcode{f}
|
1465 |
| -returns \tcode{I(numeric_limits<B(I)>::f())}. |
| 1465 | +returns \tcode{I(numeric_limits<$B(\tcode{I})$>::f())}. |
1466 | 1466 |
|
1467 | 1467 | \pnum
|
1468 | 1468 | For any two integer-like types \tcode{I1} and \tcode{I2},
|
|
0 commit comments