diff --git a/source/iterators.tex b/source/iterators.tex index dbd9d44930..c334b8f81f 100644 --- a/source/iterators.tex +++ b/source/iterators.tex @@ -1254,24 +1254,22 @@ \tcode{Iterator} shall meet the requirements of a random access iterator\iref{random.access.iterators} if any of the members -\tcode{operator+}~(\ref{reverse.iter.op+}), -\tcode{operator-}~(\ref{reverse.iter.op-}), -\tcode{operator+=}~(\ref{reverse.iter.op+=}), -\tcode{operator-=}~(\ref{reverse.iter.op-=}), -\tcode{operator[]}\iref{reverse.iter.opindex}, -or the non-member operators -\tcode{operator<}~(\ref{reverse.iter.op<}), -\tcode{operator>}~(\ref{reverse.iter.op>}),\\ -\tcode{operator<=}~(\ref{reverse.iter.op<=}), -\tcode{operator>=}~(\ref{reverse.iter.op>=}), -\tcode{operator-}\iref{reverse.iter.opdiff} +\tcode{operator+}, +\tcode{operator-}, +\tcode{operator+=}, +\tcode{operator-=}\iref{reverse.iter.nav}, +\tcode{operator[]}\iref{reverse.iter.elem}, +or the non-member operators\iref{reverse.iter.cmp} +\tcode{operator<}, +\tcode{operator>}, +\tcode{operator<=}, +\tcode{operator>=}, +\tcode{operator-}, or -\tcode{operator+}\iref{reverse.iter.opsum} +\tcode{operator+}\iref{reverse.iter.nonmember} are referenced in a way that requires instantiation\iref{temp.inst}. -\rSec3[reverse.iter.ops]{\tcode{reverse_iterator} operations} - -\rSec4[reverse.iter.cons]{\tcode{reverse_iterator} constructor} +\rSec3[reverse.iter.cons]{\tcode{reverse_iterator} construction and assignment} \indexlibrary{\idxcode{reverse_iterator}!constructor}% \begin{itemdecl} @@ -1315,8 +1313,6 @@ \tcode{u.current}. \end{itemdescr} -\rSec4[reverse.iter.op=]{\tcode{reverse_iterator::operator=}} - \indexlibrarymember{operator=}{reverse_iterator}% \begin{itemdecl} template<class U> @@ -1334,7 +1330,7 @@ \tcode{*this}. \end{itemdescr} -\rSec4[reverse.iter.conv]{Conversion} +\rSec3[reverse.iter.conv]{Conversion} \indexlibrarymember{base}{reverse_iterator}% \begin{itemdecl} @@ -1347,7 +1343,7 @@ \tcode{current}. \end{itemdescr} -\rSec4[reverse.iter.op.star]{\tcode{operator*}} +\rSec3[reverse.iter.elem]{\tcode{reverse_iterator} element access} \indexlibrarymember{operator*}{reverse_iterator}% \begin{itemdecl} @@ -1365,8 +1361,6 @@ \end{itemdescr} -\rSec4[reverse.iter.opref]{\tcode{operator->}} - \indexlibrarymember{operator->}{reverse_iterator}% \begin{itemdecl} constexpr pointer operator->() const; @@ -1377,7 +1371,40 @@ \returns \tcode{addressof(operator*())}. \end{itemdescr} -\rSec4[reverse.iter.op++]{\tcode{operator++}} +\indexlibrarymember{operator[]}{reverse_iterator}% +\begin{itemdecl} +constexpr @\unspec@ operator[](difference_type n) const; +\end{itemdecl} + +\begin{itemdescr} +\pnum +\returns +\tcode{current[-n-1]}. +\end{itemdescr} + +\rSec3[reverse.iter.nav]{\tcode{reverse_iterator} navigation} + +\indexlibrarymember{operator+}{reverse_iterator}% +\begin{itemdecl} +constexpr reverse_iterator operator+(difference_type n) const; +\end{itemdecl} + +\begin{itemdescr} +\pnum +\returns +\tcode{reverse_iterator(current-n)}. +\end{itemdescr} + +\indexlibrarymember{operator-}{reverse_iterator}% +\begin{itemdecl} +constexpr reverse_iterator operator-(difference_type n) const; +\end{itemdecl} + +\begin{itemdescr} +\pnum +\returns +\tcode{reverse_iterator(current+n)}. +\end{itemdescr} \indexlibrarymember{operator++}{reverse_iterator}% \begin{itemdecl} @@ -1410,8 +1437,6 @@ \end{codeblock} \end{itemdescr} -\rSec4[reverse.iter.op\dcr]{\tcode{operator\dcr}} - \indexlibrarymember{operator\dcr}{reverse_iterator}% \begin{itemdecl} constexpr reverse_iterator& operator--(); @@ -1443,21 +1468,6 @@ \end{codeblock} \end{itemdescr} -\rSec4[reverse.iter.op+]{\tcode{operator+}} - -\indexlibrarymember{operator+}{reverse_iterator}% -\begin{itemdecl} -constexpr reverse_iterator operator+(difference_type n) const; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\returns -\tcode{reverse_iterator(current-n)}. -\end{itemdescr} - -\rSec4[reverse.iter.op+=]{\tcode{operator+=}} - \indexlibrarymember{operator+=}{reverse_iterator}% \begin{itemdecl} constexpr reverse_iterator& operator+=(difference_type n); @@ -1473,21 +1483,6 @@ \tcode{*this}. \end{itemdescr} -\rSec4[reverse.iter.op-]{\tcode{operator-}} - -\indexlibrarymember{operator-}{reverse_iterator}% -\begin{itemdecl} -constexpr reverse_iterator operator-(difference_type n) const; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\returns -\tcode{reverse_iterator(current+n)}. -\end{itemdescr} - -\rSec4[reverse.iter.op-=]{\tcode{operator-=}} - \indexlibrarymember{operator-=}{reverse_iterator}% \begin{itemdecl} constexpr reverse_iterator& operator-=(difference_type n); @@ -1503,20 +1498,7 @@ \tcode{*this}. \end{itemdescr} -\rSec4[reverse.iter.opindex]{\tcode{operator[]}} - -\indexlibrarymember{operator[]}{reverse_iterator}% -\begin{itemdecl} -constexpr @\unspec@ operator[](difference_type n) const; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\returns -\tcode{current[-n-1]}. -\end{itemdescr} - -\rSec4[reverse.iter.op==]{\tcode{operator==}} +\rSec3[reverse.iter.cmp]{\tcode{reverse_iterator} comparisons} \indexlibrarymember{operator==}{reverse_iterator}% \begin{itemdecl} @@ -1532,8 +1514,6 @@ \tcode{x.current == y.current}. \end{itemdescr} -\rSec4[reverse.iter.op<]{\tcode{operator<}} - \indexlibrarymember{operator<}{reverse_iterator}% \begin{itemdecl} template<class Iterator1, class Iterator2> @@ -1548,8 +1528,6 @@ \tcode{x.current > y.current}. \end{itemdescr} -\rSec4[reverse.iter.op!=]{\tcode{operator!=}} - \indexlibrarymember{operator"!=}{reverse_iterator}% \begin{itemdecl} template<class Iterator1, class Iterator2> @@ -1564,8 +1542,6 @@ \tcode{x.current != y.current}. \end{itemdescr} -\rSec4[reverse.iter.op>]{\tcode{operator>}} - \indexlibrarymember{operator>}{reverse_iterator}% \begin{itemdecl} template<class Iterator1, class Iterator2> @@ -1580,8 +1556,6 @@ \tcode{x.current < y.current}. \end{itemdescr} -\rSec4[reverse.iter.op>=]{\tcode{operator>=}} - \indexlibrarymember{operator>=}{reverse_iterator}% \begin{itemdecl} template<class Iterator1, class Iterator2> @@ -1596,8 +1570,6 @@ \tcode{x.current <= y.current}. \end{itemdescr} -\rSec4[reverse.iter.op<=]{\tcode{operator<=}} - \indexlibrarymember{operator<=}{reverse_iterator}% \begin{itemdecl} template<class Iterator1, class Iterator2> @@ -1612,7 +1584,7 @@ \tcode{x.current >= y.current}. \end{itemdescr} -\rSec4[reverse.iter.opdiff]{\tcode{operator-}} +\rSec3[reverse.iter.nonmember]{Non-member functions} \indexlibrarymember{operator-}{reverse_iterator}% \begin{itemdecl} @@ -1628,8 +1600,6 @@ \tcode{y.current - x.current}. \end{itemdescr} -\rSec4[reverse.iter.opsum]{\tcode{operator+}} - \indexlibrarymember{operator+}{reverse_iterator}% \begin{itemdecl} template<class Iterator> @@ -1644,8 +1614,6 @@ \tcode{reverse_iterator<Iterator> (x.current - n)}. \end{itemdescr} -\rSec4[reverse.iter.make]{Non-member function \tcode{make_reverse_iterator()}} - \indexlibrary{\idxcode{reverse_iterator}!\idxcode{make_reverse_iterator} non-member function}% \indexlibrary{\idxcode{make_reverse_iterator}}% \begin{itemdecl} diff --git a/source/xrefdelta.tex b/source/xrefdelta.tex index 7690eecb32..ea992805ab 100644 --- a/source/xrefdelta.tex +++ b/source/xrefdelta.tex @@ -52,5 +52,31 @@ % Deprecated free-function atomic access to shared pointers \movedxref{util.smartptr.shared.atomic}{depr.util.smartptr.shared.atomic} +% Single-item [reverse.iterators] subclauses were dissolved. +\movedxref{reverse.iter.op==}{reverse.iter.cmp} +\movedxref{reverse.iter.op<}{reverse.iter.cmp} +\movedxref{reverse.iter.op!=}{reverse.iter.cmp} +\movedxref{reverse.iter.op>}{reverse.iter.cmp} +\movedxref{reverse.iter.op>=}{reverse.iter.cmp} +\movedxref{reverse.iter.op<=}{reverse.iter.cmp} + +\movedxref{reverse.iter.star}{reverse.iter.elem} +\movedxref{reverse.iter.opref}{reverse.iter.elem} +\movedxref{reverse.iter.opindex}{reverse.iter.elem} + +\movedxref{reverse.iter.op+}{reverse.iter.nav} +\movedxref{reverse.iter.op-}{reverse.iter.nav} +\movedxref{reverse.iter.op++}{reverse.iter.nav} +\movedxref{reverse.iter.op+=}{reverse.iter.nav} +\movedxref{reverse.iter.op\dcr}{reverse.iter.nav} +\movedxref{reverse.iter.op-=}{reverse.iter.nav} +\movedxref{reverse.iter.op++}{reverse.iter.nav} + +\movedxref{reverse.iter.opdiff}{reverse.iter.nonmember} +\movedxref{reverse.iter.opsum}{reverse.iter.nonmember} +\movedxref{reverse.iter.make}{reverse.iter.nonmember} + +\removedxref{reverse.iter.ops} + % Deprecated features. %\deprxref{old.label} (if moved to depr.old.label, otherwise use \movedxref)