|
1338 | 1338 | \pnum
|
1339 | 1339 | Let \tcode{E} be an expression such that \tcode{decltype((E))} is \tcode{T},
|
1340 | 1340 | and let \tcode{o} be a dereferenceable object of type \tcode{Out}.
|
1341 |
| -\tcode{Out} and \tcode{T} model \tcode{\libconcept{indirectly_writable}<Out, T>} only if |
| 1341 | +\tcode{Out} and \tcode{T} model \tcode{\libconcept{indirectly_writable}<Out, T>} only if: |
1342 | 1342 | \begin{itemize}
|
1343 | 1343 | \item If \tcode{Out} and \tcode{T} model
|
1344 | 1344 | \tcode{\libconcept{indirectly_readable}<Out> \&\& \libconcept{same_as}<iter_value_t<Out>, decay_t<T>>},
|
|
1544 | 1544 | \pnum
|
1545 | 1545 | Let \tcode{i} be an object of type \tcode{I}. When \tcode{i} is in the domain of
|
1546 | 1546 | both pre- and post-increment, \tcode{i} is said to be \defn{incrementable}.
|
1547 |
| -\tcode{I} models \tcode{\libconcept{weakly_incrementable}<I>} only if |
| 1547 | +\tcode{I} models \tcode{\libconcept{weakly_incrementable}<I>} only if: |
1548 | 1548 | \begin{itemize}
|
1549 | 1549 | \item The expressions \tcode{++i} and \tcode{i++} have the same domain.
|
1550 | 1550 | \item If \tcode{i} is incrementable, then both \tcode{++i}
|
|
1591 | 1591 |
|
1592 | 1592 | \pnum
|
1593 | 1593 | Let \tcode{a} and \tcode{b} be incrementable objects of type \tcode{I}.
|
1594 |
| -\tcode{I} models \libconcept{incrementable} only if |
| 1594 | +\tcode{I} models \libconcept{incrementable} only if: |
1595 | 1595 | \begin{itemize}
|
1596 | 1596 | \item If \tcode{bool(a == b)} then \tcode{bool(a++ == b)}.
|
1597 | 1597 | \item If \tcode{bool(a == b)} then \tcode{bool(((void)a++, a) == ++b)}.
|
|
1654 | 1654 | \pnum
|
1655 | 1655 | Let \tcode{s} and \tcode{i} be values of type \tcode{S} and
|
1656 | 1656 | \tcode{I} such that \range{i}{s} denotes a range. Types
|
1657 |
| -\tcode{S} and \tcode{I} model \tcode{\libconcept{sentinel_for}<S, I>} only if |
| 1657 | +\tcode{S} and \tcode{I} model \tcode{\libconcept{sentinel_for}<S, I>} only if: |
1658 | 1658 | \begin{itemize}
|
1659 | 1659 | \item \tcode{i == s} is well-defined.
|
1660 | 1660 |
|
|
1699 | 1699 | a sentinel of type \tcode{S} such that \range{i}{s} denotes a range.
|
1700 | 1700 | Let $N$ be the smallest number of applications of \tcode{++i}
|
1701 | 1701 | necessary to make \tcode{bool(i == s)} be \tcode{true}.
|
1702 |
| -\tcode{S} and \tcode{I} model \tcode{\libconcept{sized_sentinel_for}<S, I>} only if |
| 1702 | +\tcode{S} and \tcode{I} model \tcode{\libconcept{sized_sentinel_for}<S, I>} only if: |
1703 | 1703 | \begin{itemize}
|
1704 | 1704 | \item If $N$ is representable by \tcode{iter_difference_t<I>},
|
1705 | 1705 | then \tcode{s - i} is well-defined and equals $N$.
|
|
1872 | 1872 |
|
1873 | 1873 | \pnum
|
1874 | 1874 | Let \tcode{a} and \tcode{b} be equal objects of type \tcode{I}.
|
1875 |
| -\tcode{I} models \libconcept{bidirectional_iterator} only if |
| 1875 | +\tcode{I} models \libconcept{bidirectional_iterator} only if: |
1876 | 1876 | \begin{itemize}
|
1877 | 1877 | \item If \tcode{a} and \tcode{b} are decrementable,
|
1878 | 1878 | then all of the following are \tcode{true}:
|
|
1918 | 1918 | after \tcode{n} applications of \tcode{++a},
|
1919 | 1919 | let \tcode{D} be \tcode{iter_difference_t<I>},
|
1920 | 1920 | and let \tcode{n} denote a value of type \tcode{D}.
|
1921 |
| -\tcode{I} models \libconcept{random_access_iterator} only if |
| 1921 | +\tcode{I} models \libconcept{random_access_iterator} only if: |
1922 | 1922 | \begin{itemize}
|
1923 | 1923 | \item \tcode{(a += n)} is equal to \tcode{b}.
|
1924 | 1924 | \item \tcode{addressof(a += n)} is equal to \tcode{addressof(a)}.
|
|
0 commit comments