|
1805 | 1805 | \end{codeblock}
|
1806 | 1806 |
|
1807 | 1807 | \pnum
|
1808 |
| -Let \tcode{\placeholdernc{IOTA_DIFF_T}(W)} be defined as follows: |
| 1808 | +Let \tcode{\placeholdernc{IOTA-DIFF-T}(W)} be defined as follows: |
1809 | 1809 | \begin{itemize}
|
1810 | 1810 | \item
|
1811 | 1811 | If \tcode{W} is not an integral type, or
|
1812 | 1812 | if it is an integral type and \tcode{sizeof(iter_difference_t<W>)}
|
1813 | 1813 | is greater than \tcode{sizeof(W)},
|
1814 |
| - then \tcode{\placeholdernc{IOTA_DIFF_T}(W)} denotes \tcode{iter_difference_t<W>}. |
| 1814 | + then \tcode{\placeholdernc{IOTA-DIFF-T}(W)} denotes \tcode{iter_difference_t<W>}. |
1815 | 1815 | \item
|
1816 |
| - Otherwise, \tcode{\placeholdernc{IOTA_DIFF_T}(W)} |
| 1816 | + Otherwise, \tcode{\placeholdernc{IOTA-DIFF-T}(W)} |
1817 | 1817 | is a signed integer type of width greater than the width of \tcode{W}
|
1818 | 1818 | if such a type exists.
|
1819 | 1819 | \item
|
1820 |
| - Otherwise, \tcode{\placeholdernc{IOTA_DIFF_T}(W)} |
| 1820 | + Otherwise, \tcode{\placeholdernc{IOTA-DIFF-T}(W)} |
1821 | 1821 | is an unspecified signed-integer-like type\iref{iterator.concept.winc}
|
1822 | 1822 | of width not less than the width of \tcode{W}.
|
1823 | 1823 | \begin{note}
|
|
1865 | 1865 | template<class I>
|
1866 | 1866 | concept @\placeholder{Advanceable}@ =
|
1867 | 1867 | @\placeholdernc{Decrementable}@<I> && StrictTotallyOrdered<I> &&
|
1868 |
| - requires(I i, const I j, const @\placeholdernc{IOTA_DIFF_T}@(I) n) { |
| 1868 | + requires(I i, const I j, const @\placeholdernc{IOTA-DIFF-T}@(I) n) { |
1869 | 1869 | { i += n } -> Same<I&>;
|
1870 | 1870 | { i -= n } -> Same<I&>;
|
1871 | 1871 | I(j + n);
|
1872 | 1872 | I(n + j);
|
1873 | 1873 | I(j - n);
|
1874 |
| - { j - j } -> ConvertibleTo<@\placeholdernc{IOTA_DIFF_T}@(I)>; |
| 1874 | + { j - j } -> ConvertibleTo<@\placeholdernc{IOTA-DIFF-T}@(I)>; |
1875 | 1875 | };
|
1876 | 1876 | \end{itemdecl}
|
1877 | 1877 |
|
1878 |
| -Let \tcode{D} be \tcode{\placeholdernc{IOTA_DIFF_T}(I)}. |
| 1878 | +Let \tcode{D} be \tcode{\placeholdernc{IOTA-DIFF-T}(I)}. |
1879 | 1879 | Let \tcode{a} and \tcode{b} be objects of type \tcode{I} such that
|
1880 | 1880 | \tcode{b} is reachable from \tcode{a}
|
1881 | 1881 | after \tcode{n} applications of \tcode{++a},
|
|
1891 | 1891 | \tcode{I(a + D(x + y))} is equal to \tcode{I(I(a + x) + y)}.
|
1892 | 1892 | \item \tcode{I(a + D(0))} is equal to \tcode{a}.
|
1893 | 1893 | \item If \tcode{I(a + D(n - 1))} is well-defined, then
|
1894 |
| - \tcode{I(a + n)} is equal to \tcode{[](I c) { return ++c; }(I(a + D(n - 1)))}. |
| 1894 | + \tcode{I(a + n)} is equal to \tcode{[](I c) \{ return ++c; \}(I(a + D(n - 1)))}. |
1895 | 1895 | \item \tcode{(b += -n)} is equal to \tcode{a}.
|
1896 | 1896 | \item \tcode{(b -= n)} is equal to \tcode{a}.
|
1897 | 1897 | \item \tcode{addressof(b -= n)} is equal to \tcode{addressof(b)}.
|
|
2008 | 2008 | public:
|
2009 | 2009 | using iterator_category = @\seebelow@;
|
2010 | 2010 | using value_type = W;
|
2011 |
| - using difference_type = @\placeholdernc{IOTA_DIFF_T}@(W); |
| 2011 | + using difference_type = @\placeholdernc{IOTA-DIFF-T}@(W); |
2012 | 2012 |
|
2013 | 2013 | iterator() = default;
|
2014 | 2014 | constexpr explicit iterator(W value);
|
|
0 commit comments