Skip to content

Commit 68f1263

Browse files
committed
[reverse.iterators] Dissolve single-item subclauses.
1 parent d29bd8c commit 68f1263

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
@@ -1254,24 +1254,22 @@
12541254
\tcode{Iterator}
12551255
shall meet the requirements of a random access iterator\iref{random.access.iterators}
12561256
if any of the members
1257-
\tcode{operator+}~(\ref{reverse.iter.op+}),
1258-
\tcode{operator-}~(\ref{reverse.iter.op-}),
1259-
\tcode{operator+=}~(\ref{reverse.iter.op+=}),
1260-
\tcode{operator-=}~(\ref{reverse.iter.op-=}),
1261-
\tcode{operator[]}\iref{reverse.iter.opindex},
1262-
or the non-member operators
1263-
\tcode{operator<}~(\ref{reverse.iter.op<}),
1264-
\tcode{operator>}~(\ref{reverse.iter.op>}),\\
1265-
\tcode{operator<=}~(\ref{reverse.iter.op<=}),
1266-
\tcode{operator>=}~(\ref{reverse.iter.op>=}),
1267-
\tcode{operator-}\iref{reverse.iter.opdiff}
1257+
\tcode{operator+},
1258+
\tcode{operator-}\iref{reverse.iter.obs},
1259+
\tcode{operator+=},
1260+
\tcode{operator-=}\iref{reverse.iter.mod},
1261+
\tcode{operator[]},
1262+
or the non-member operators\iref{reverse.iter.cmp}
1263+
\tcode{operator<},
1264+
\tcode{operator>},
1265+
\tcode{operator<=},
1266+
\tcode{operator>=},
1267+
\tcode{operator-},
12681268
or
1269-
\tcode{operator+}\iref{reverse.iter.opsum}
1269+
\tcode{operator+}\iref{reverse.iter.nonmember}
12701270
are referenced in a way that requires instantiation\iref{temp.inst}.
12711271

1272-
\rSec3[reverse.iter.ops]{\tcode{reverse_iterator} operations}
1273-
1274-
\rSec4[reverse.iter.cons]{\tcode{reverse_iterator} constructor}
1272+
\rSec3[reverse.iter.cons]{\tcode{reverse_iterator} construction and assignment}
12751273

12761274
\indexlibrary{\idxcode{reverse_iterator}!constructor}%
12771275
\begin{itemdecl}
@@ -1315,8 +1313,6 @@
13151313
\tcode{u.current}.
13161314
\end{itemdescr}
13171315

1318-
\rSec4[reverse.iter.op=]{\tcode{reverse_iterator::operator=}}
1319-
13201316
\indexlibrarymember{operator=}{reverse_iterator}%
13211317
\begin{itemdecl}
13221318
template <class U>
@@ -1334,7 +1330,7 @@
13341330
\tcode{*this}.
13351331
\end{itemdescr}
13361332

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

13391335
\indexlibrarymember{base}{reverse_iterator}%
13401336
\begin{itemdecl}
@@ -1347,8 +1343,6 @@
13471343
\tcode{current}.
13481344
\end{itemdescr}
13491345

1350-
\rSec4[reverse.iter.op.star]{\tcode{operator*}}
1351-
13521346
\indexlibrarymember{operator*}{reverse_iterator}%
13531347
\begin{itemdecl}
13541348
constexpr reference operator*() const;
@@ -1365,8 +1359,6 @@
13651359

13661360
\end{itemdescr}
13671361

1368-
\rSec4[reverse.iter.opref]{\tcode{operator->}}
1369-
13701362
\indexlibrarymember{operator->}{reverse_iterator}%
13711363
\begin{itemdecl}
13721364
constexpr pointer operator->() const;
@@ -1377,7 +1369,40 @@
13771369
\returns \tcode{addressof(operator*())}.
13781370
\end{itemdescr}
13791371

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

13821407
\indexlibrarymember{operator++}{reverse_iterator}%
13831408
\begin{itemdecl}
@@ -1410,8 +1435,6 @@
14101435
\end{codeblock}
14111436
\end{itemdescr}
14121437

1413-
\rSec4[reverse.iter.op\dcr]{\tcode{operator\dcr}}
1414-
14151438
\indexlibrarymember{operator\dcr}{reverse_iterator}%
14161439
\begin{itemdecl}
14171440
constexpr reverse_iterator& operator--();
@@ -1443,21 +1466,6 @@
14431466
\end{codeblock}
14441467
\end{itemdescr}
14451468

1446-
\rSec4[reverse.iter.op+]{\tcode{operator+}}
1447-
1448-
\indexlibrarymember{operator+}{reverse_iterator}%
1449-
\begin{itemdecl}
1450-
constexpr reverse_iterator operator+(difference_type n) const;
1451-
\end{itemdecl}
1452-
1453-
\begin{itemdescr}
1454-
\pnum
1455-
\returns
1456-
\tcode{reverse_iterator(current-n)}.
1457-
\end{itemdescr}
1458-
1459-
\rSec4[reverse.iter.op+=]{\tcode{operator+=}}
1460-
14611469
\indexlibrarymember{operator+=}{reverse_iterator}%
14621470
\begin{itemdecl}
14631471
constexpr reverse_iterator& operator+=(difference_type n);
@@ -1473,21 +1481,6 @@
14731481
\tcode{*this}.
14741482
\end{itemdescr}
14751483

1476-
\rSec4[reverse.iter.op-]{\tcode{operator-}}
1477-
1478-
\indexlibrarymember{operator-}{reverse_iterator}%
1479-
\begin{itemdecl}
1480-
constexpr reverse_iterator operator-(difference_type n) const;
1481-
\end{itemdecl}
1482-
1483-
\begin{itemdescr}
1484-
\pnum
1485-
\returns
1486-
\tcode{reverse_iterator(current+n)}.
1487-
\end{itemdescr}
1488-
1489-
\rSec4[reverse.iter.op-=]{\tcode{operator-=}}
1490-
14911484
\indexlibrarymember{operator-=}{reverse_iterator}%
14921485
\begin{itemdecl}
14931486
constexpr reverse_iterator& operator-=(difference_type n);
@@ -1503,20 +1496,7 @@
15031496
\tcode{*this}.
15041497
\end{itemdescr}
15051498

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

15211501
\indexlibrarymember{operator==}{reverse_iterator}%
15221502
\begin{itemdecl}
@@ -1532,8 +1512,6 @@
15321512
\tcode{x.current == y.current}.
15331513
\end{itemdescr}
15341514

1535-
\rSec4[reverse.iter.op<]{\tcode{operator<}}
1536-
15371515
\indexlibrarymember{operator<}{reverse_iterator}%
15381516
\begin{itemdecl}
15391517
template <class Iterator1, class Iterator2>
@@ -1548,8 +1526,6 @@
15481526
\tcode{x.current > y.current}.
15491527
\end{itemdescr}
15501528

1551-
\rSec4[reverse.iter.op!=]{\tcode{operator!=}}
1552-
15531529
\indexlibrarymember{operator"!=}{reverse_iterator}%
15541530
\begin{itemdecl}
15551531
template <class Iterator1, class Iterator2>
@@ -1564,8 +1540,6 @@
15641540
\tcode{x.current != y.current}.
15651541
\end{itemdescr}
15661542

1567-
\rSec4[reverse.iter.op>]{\tcode{operator>}}
1568-
15691543
\indexlibrarymember{operator>}{reverse_iterator}%
15701544
\begin{itemdecl}
15711545
template <class Iterator1, class Iterator2>
@@ -1580,8 +1554,6 @@
15801554
\tcode{x.current < y.current}.
15811555
\end{itemdescr}
15821556

1583-
\rSec4[reverse.iter.op>=]{\tcode{operator>=}}
1584-
15851557
\indexlibrarymember{operator>=}{reverse_iterator}%
15861558
\begin{itemdecl}
15871559
template <class Iterator1, class Iterator2>
@@ -1596,8 +1568,6 @@
15961568
\tcode{x.current <= y.current}.
15971569
\end{itemdescr}
15981570

1599-
\rSec4[reverse.iter.op<=]{\tcode{operator<=}}
1600-
16011571
\indexlibrarymember{operator<=}{reverse_iterator}%
16021572
\begin{itemdecl}
16031573
template <class Iterator1, class Iterator2>
@@ -1612,7 +1582,7 @@
16121582
\tcode{x.current >= y.current}.
16131583
\end{itemdescr}
16141584

1615-
\rSec4[reverse.iter.opdiff]{\tcode{operator-}}
1585+
\rSec3[reverse.iter.nonmember]{Non-member functions}
16161586

16171587
\indexlibrarymember{operator-}{reverse_iterator}%
16181588
\begin{itemdecl}
@@ -1628,8 +1598,6 @@
16281598
\tcode{y.current - x.current}.
16291599
\end{itemdescr}
16301600

1631-
\rSec4[reverse.iter.opsum]{\tcode{operator+}}
1632-
16331601
\indexlibrarymember{operator+}{reverse_iterator}%
16341602
\begin{itemdecl}
16351603
template <class Iterator>
@@ -1644,8 +1612,6 @@
16441612
\tcode{reverse_iterator<Iterator> (x.current - n)}.
16451613
\end{itemdescr}
16461614

1647-
\rSec4[reverse.iter.make]{Non-member function \tcode{make_reverse_iterator()}}
1648-
16491615
\indexlibrary{\idxcode{reverse_iterator}!\idxcode{make_reverse_iterator} non-member function}%
16501616
\indexlibrary{\idxcode{make_reverse_iterator}}%
16511617
\begin{itemdecl}

source/xrefdelta.tex

+27
Original file line numberDiff line numberDiff line change
@@ -49,5 +49,32 @@
4949
% Contents of [util.smartptr] was integrated into the parent.
5050
\removedxref{util.smartptr}
5151

52+
% Single-item [reverse.iterators] subclauses were dissolved.
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+
\movedxref{reverse.iter.op>}{reverse.iter.cmp}
57+
\movedxref{reverse.iter.op>=}{reverse.iter.cmp}
58+
\movedxref{reverse.iter.op<=}{reverse.iter.cmp}
59+
60+
\movedxref{reverse.iter.conv}{reverse.iter.obs}
61+
\movedxref{reverse.iter.star}{reverse.iter.obs}
62+
\movedxref{reverse.iter.opref}{reverse.iter.obs}
63+
\movedxref{reverse.iter.opindex}{reverse.iter.obs}
64+
\movedxref{reverse.iter.op+}{reverse.iter.obs}
65+
\movedxref{reverse.iter.op-}{reverse.iter.obs}
66+
67+
\movedxref{reverse.iter.op++}{reverse.iter.mod}
68+
\movedxref{reverse.iter.op+=}{reverse.iter.mod}
69+
\movedxref{reverse.iter.op\dcr}{reverse.iter.mod}
70+
\movedxref{reverse.iter.op-=}{reverse.iter.mod}
71+
\movedxref{reverse.iter.op++}{reverse.iter.mod}
72+
73+
\movedxref{reverse.iter.opdiff}{reverse.iter.nonmember}
74+
\movedxref{reverse.iter.opsum}{reverse.iter.nonmember}
75+
\movedxref{reverse.iter.make}{reverse.iter.nonmember}
76+
77+
\removedxref{reverse.iter.ops}
78+
5279
% Deprecated features.
5380
%\deprxref{old.label} (if moved to depr.old.label, otherwise use \movedxref)

0 commit comments

Comments
 (0)