Skip to content

Commit 1910cc7

Browse files
committed
[reverse.iterators] Dissolve single-item subclauses.
1 parent 5624657 commit 1910cc7

File tree

2 files changed

+77
-84
lines changed

2 files changed

+77
-84
lines changed

source/iterators.tex

+50-84
Original file line numberDiff line numberDiff line change
@@ -1250,24 +1250,22 @@
12501250
\tcode{Iterator}
12511251
shall meet the requirements of a random access iterator\iref{random.access.iterators}
12521252
if any of the members
1253-
\tcode{operator+}~(\ref{reverse.iter.op+}),
1254-
\tcode{operator-}~(\ref{reverse.iter.op-}),
1255-
\tcode{operator+=}~(\ref{reverse.iter.op+=}),
1256-
\tcode{operator-=}~(\ref{reverse.iter.op-=}),
1257-
\tcode{operator[]}\iref{reverse.iter.opindex},
1258-
or the non-member operators
1259-
\tcode{operator<}~(\ref{reverse.iter.op<}),
1260-
\tcode{operator>}~(\ref{reverse.iter.op>}),\\
1261-
\tcode{operator<=}~(\ref{reverse.iter.op<=}),
1262-
\tcode{operator>=}~(\ref{reverse.iter.op>=}),
1263-
\tcode{operator-}\iref{reverse.iter.opdiff}
1253+
\tcode{operator+},
1254+
\tcode{operator-}\iref{reverse.iter.obs},
1255+
\tcode{operator+=},
1256+
\tcode{operator-=}\iref{reverse.iter.mod},
1257+
\tcode{operator[]},
1258+
or the non-member operators\iref{reverse.iter.cmp}
1259+
\tcode{operator<},
1260+
\tcode{operator>},
1261+
\tcode{operator<=},
1262+
\tcode{operator>=},
1263+
\tcode{operator-},
12641264
or
1265-
\tcode{operator+}\iref{reverse.iter.opsum}
1265+
\tcode{operator+}\iref{reverse.iter.nonmember}
12661266
are referenced in a way that requires instantiation\iref{temp.inst}.
12671267

1268-
\rSec3[reverse.iter.ops]{\tcode{reverse_iterator} operations}
1269-
1270-
\rSec4[reverse.iter.cons]{\tcode{reverse_iterator} constructor}
1268+
\rSec3[reverse.iter.cons]{\tcode{reverse_iterator} construction and assignment}
12711269

12721270
\indexlibrary{\idxcode{reverse_iterator}!constructor}%
12731271
\begin{itemdecl}
@@ -1311,8 +1309,6 @@
13111309
\tcode{u.current}.
13121310
\end{itemdescr}
13131311

1314-
\rSec4[reverse.iter.op=]{\tcode{reverse_iterator::operator=}}
1315-
13161312
\indexlibrarymember{operator=}{reverse_iterator}%
13171313
\begin{itemdecl}
13181314
template <class U>
@@ -1330,7 +1326,7 @@
13301326
\tcode{*this}.
13311327
\end{itemdescr}
13321328

1333-
\rSec4[reverse.iter.conv]{Conversion}
1329+
\rSec3[reverse.iter.obs]{\tcode{reverse_iterator} observers}
13341330

13351331
\indexlibrarymember{base}{reverse_iterator}%
13361332
\begin{itemdecl}
@@ -1343,8 +1339,6 @@
13431339
\tcode{current}.
13441340
\end{itemdescr}
13451341

1346-
\rSec4[reverse.iter.op.star]{\tcode{operator*}}
1347-
13481342
\indexlibrarymember{operator*}{reverse_iterator}%
13491343
\begin{itemdecl}
13501344
constexpr reference operator*() const;
@@ -1361,8 +1355,6 @@
13611355

13621356
\end{itemdescr}
13631357

1364-
\rSec4[reverse.iter.opref]{\tcode{operator->}}
1365-
13661358
\indexlibrarymember{operator->}{reverse_iterator}%
13671359
\begin{itemdecl}
13681360
constexpr pointer operator->() const;
@@ -1373,7 +1365,40 @@
13731365
\returns \tcode{addressof(operator*())}.
13741366
\end{itemdescr}
13751367

1376-
\rSec4[reverse.iter.op++]{\tcode{operator++}}
1368+
\indexlibrarymember{operator[]}{reverse_iterator}%
1369+
\begin{itemdecl}
1370+
constexpr @\unspec@ operator[](difference_type n) const;
1371+
\end{itemdecl}
1372+
1373+
\begin{itemdescr}
1374+
\pnum
1375+
\returns
1376+
\tcode{current[-n-1]}.
1377+
\end{itemdescr}
1378+
1379+
\indexlibrarymember{operator+}{reverse_iterator}%
1380+
\begin{itemdecl}
1381+
constexpr reverse_iterator operator+(difference_type n) const;
1382+
\end{itemdecl}
1383+
1384+
\begin{itemdescr}
1385+
\pnum
1386+
\returns
1387+
\tcode{reverse_iterator(current-n)}.
1388+
\end{itemdescr}
1389+
1390+
\indexlibrarymember{operator-}{reverse_iterator}%
1391+
\begin{itemdecl}
1392+
constexpr reverse_iterator operator-(difference_type n) const;
1393+
\end{itemdecl}
1394+
1395+
\begin{itemdescr}
1396+
\pnum
1397+
\returns
1398+
\tcode{reverse_iterator(current+n)}.
1399+
\end{itemdescr}
1400+
1401+
\rSec3[reverse.iter.mod]{\tcode{reverse_iterator} modifiers}
13771402

13781403
\indexlibrarymember{operator++}{reverse_iterator}%
13791404
\begin{itemdecl}
@@ -1406,8 +1431,6 @@
14061431
\end{codeblock}
14071432
\end{itemdescr}
14081433

1409-
\rSec4[reverse.iter.op\dcr]{\tcode{operator\dcr}}
1410-
14111434
\indexlibrarymember{operator\dcr}{reverse_iterator}%
14121435
\begin{itemdecl}
14131436
constexpr reverse_iterator& operator--();
@@ -1439,21 +1462,6 @@
14391462
\end{codeblock}
14401463
\end{itemdescr}
14411464

1442-
\rSec4[reverse.iter.op+]{\tcode{operator+}}
1443-
1444-
\indexlibrarymember{operator+}{reverse_iterator}%
1445-
\begin{itemdecl}
1446-
constexpr reverse_iterator operator+(difference_type n) const;
1447-
\end{itemdecl}
1448-
1449-
\begin{itemdescr}
1450-
\pnum
1451-
\returns
1452-
\tcode{reverse_iterator(current-n)}.
1453-
\end{itemdescr}
1454-
1455-
\rSec4[reverse.iter.op+=]{\tcode{operator+=}}
1456-
14571465
\indexlibrarymember{operator+=}{reverse_iterator}%
14581466
\begin{itemdecl}
14591467
constexpr reverse_iterator& operator+=(difference_type n);
@@ -1469,21 +1477,6 @@
14691477
\tcode{*this}.
14701478
\end{itemdescr}
14711479

1472-
\rSec4[reverse.iter.op-]{\tcode{operator-}}
1473-
1474-
\indexlibrarymember{operator-}{reverse_iterator}%
1475-
\begin{itemdecl}
1476-
constexpr reverse_iterator operator-(difference_type n) const;
1477-
\end{itemdecl}
1478-
1479-
\begin{itemdescr}
1480-
\pnum
1481-
\returns
1482-
\tcode{reverse_iterator(current+n)}.
1483-
\end{itemdescr}
1484-
1485-
\rSec4[reverse.iter.op-=]{\tcode{operator-=}}
1486-
14871480
\indexlibrarymember{operator-=}{reverse_iterator}%
14881481
\begin{itemdecl}
14891482
constexpr reverse_iterator& operator-=(difference_type n);
@@ -1499,20 +1492,7 @@
14991492
\tcode{*this}.
15001493
\end{itemdescr}
15011494

1502-
\rSec4[reverse.iter.opindex]{\tcode{operator[]}}
1503-
1504-
\indexlibrarymember{operator[]}{reverse_iterator}%
1505-
\begin{itemdecl}
1506-
constexpr @\unspec@ operator[](difference_type n) const;
1507-
\end{itemdecl}
1508-
1509-
\begin{itemdescr}
1510-
\pnum
1511-
\returns
1512-
\tcode{current[-n-1]}.
1513-
\end{itemdescr}
1514-
1515-
\rSec4[reverse.iter.op==]{\tcode{operator==}}
1495+
\rSec3[reverse.iter.cmp]{\tcode{reverse_iterator} comparisons}
15161496

15171497
\indexlibrarymember{operator==}{reverse_iterator}%
15181498
\begin{itemdecl}
@@ -1528,8 +1508,6 @@
15281508
\tcode{x.current == y.current}.
15291509
\end{itemdescr}
15301510

1531-
\rSec4[reverse.iter.op<]{\tcode{operator<}}
1532-
15331511
\indexlibrarymember{operator<}{reverse_iterator}%
15341512
\begin{itemdecl}
15351513
template <class Iterator1, class Iterator2>
@@ -1544,8 +1522,6 @@
15441522
\tcode{x.current > y.current}.
15451523
\end{itemdescr}
15461524

1547-
\rSec4[reverse.iter.op!=]{\tcode{operator!=}}
1548-
15491525
\indexlibrarymember{operator"!=}{reverse_iterator}%
15501526
\begin{itemdecl}
15511527
template <class Iterator1, class Iterator2>
@@ -1560,8 +1536,6 @@
15601536
\tcode{x.current != y.current}.
15611537
\end{itemdescr}
15621538

1563-
\rSec4[reverse.iter.op>]{\tcode{operator>}}
1564-
15651539
\indexlibrarymember{operator>}{reverse_iterator}%
15661540
\begin{itemdecl}
15671541
template <class Iterator1, class Iterator2>
@@ -1576,8 +1550,6 @@
15761550
\tcode{x.current < y.current}.
15771551
\end{itemdescr}
15781552

1579-
\rSec4[reverse.iter.op>=]{\tcode{operator>=}}
1580-
15811553
\indexlibrarymember{operator>=}{reverse_iterator}%
15821554
\begin{itemdecl}
15831555
template <class Iterator1, class Iterator2>
@@ -1592,8 +1564,6 @@
15921564
\tcode{x.current <= y.current}.
15931565
\end{itemdescr}
15941566

1595-
\rSec4[reverse.iter.op<=]{\tcode{operator<=}}
1596-
15971567
\indexlibrarymember{operator<=}{reverse_iterator}%
15981568
\begin{itemdecl}
15991569
template <class Iterator1, class Iterator2>
@@ -1608,7 +1578,7 @@
16081578
\tcode{x.current >= y.current}.
16091579
\end{itemdescr}
16101580

1611-
\rSec4[reverse.iter.opdiff]{\tcode{operator-}}
1581+
\rSec3[reverse.iter.nonmember]{Non-member functions}
16121582

16131583
\indexlibrarymember{operator-}{reverse_iterator}%
16141584
\begin{itemdecl}
@@ -1624,8 +1594,6 @@
16241594
\tcode{y.current - x.current}.
16251595
\end{itemdescr}
16261596

1627-
\rSec4[reverse.iter.opsum]{\tcode{operator+}}
1628-
16291597
\indexlibrarymember{operator+}{reverse_iterator}%
16301598
\begin{itemdecl}
16311599
template <class Iterator>
@@ -1640,8 +1608,6 @@
16401608
\tcode{reverse_iterator<Iterator> (x.current - n)}.
16411609
\end{itemdescr}
16421610

1643-
\rSec4[reverse.iter.make]{Non-member function \tcode{make_reverse_iterator()}}
1644-
16451611
\indexlibrary{\idxcode{reverse_iterator}!\idxcode{make_reverse_iterator} non-member function}%
16461612
\indexlibrary{\idxcode{make_reverse_iterator}}%
16471613
\begin{itemdecl}

source/xrefdelta.tex

+27
Original file line numberDiff line numberDiff line change
@@ -46,5 +46,32 @@
4646
\movedxref{array.fill}{array.members}
4747
\movedxref{array.swap}{array.members}
4848

49+
% Single-item [reverse.iterators] subclauses were dissolved.
50+
\movedxref{reverse.iter.op==}{reverse.iter.cmp}
51+
\movedxref{reverse.iter.op<}{reverse.iter.cmp}
52+
\movedxref{reverse.iter.op!=}{reverse.iter.cmp}
53+
\movedxref{reverse.iter.op>}{reverse.iter.cmp}
54+
\movedxref{reverse.iter.op>=}{reverse.iter.cmp}
55+
\movedxref{reverse.iter.op<=}{reverse.iter.cmp}
56+
57+
\movedxref{reverse.iter.conv}{reverse.iter.obs}
58+
\movedxref{reverse.iter.star}{reverse.iter.obs}
59+
\movedxref{reverse.iter.opref}{reverse.iter.obs}
60+
\movedxref{reverse.iter.opindex}{reverse.iter.obs}
61+
\movedxref{reverse.iter.op+}{reverse.iter.obs}
62+
\movedxref{reverse.iter.op-}{reverse.iter.obs}
63+
64+
\movedxref{reverse.iter.op++}{reverse.iter.mod}
65+
\movedxref{reverse.iter.op+=}{reverse.iter.mod}
66+
\movedxref{reverse.iter.op\dcr}{reverse.iter.mod}
67+
\movedxref{reverse.iter.op-=}{reverse.iter.mod}
68+
\movedxref{reverse.iter.op++}{reverse.iter.mod}
69+
70+
\movedxref{reverse.iter.opdiff}{reverse.iter.nonmember}
71+
\movedxref{reverse.iter.opsum}{reverse.iter.nonmember}
72+
\movedxref{reverse.iter.make}{reverse.iter.nonmember}
73+
74+
\removedxref{reverse.iter.ops}
75+
4976
% Deprecated features.
5077
%\deprxref{old.label} (if moved to depr.old.label, otherwise use \movedxref)

0 commit comments

Comments
 (0)