Skip to content

Commit e747966

Browse files
jensmaurertkoeppe
authored andcommitted
[reverse.iterators] Dissolve single-item subclauses. (#1832)
1 parent 2f58dc8 commit e747966

File tree

2 files changed

+77
-83
lines changed

2 files changed

+77
-83
lines changed

source/iterators.tex

+51-83
Original file line numberDiff line numberDiff line change
@@ -1269,24 +1269,22 @@
12691269
\tcode{Iterator}
12701270
shall meet the requirements of a random access iterator\iref{random.access.iterators}
12711271
if any of the members
1272-
\tcode{operator+}~(\ref{reverse.iter.op+}),
1273-
\tcode{operator-}~(\ref{reverse.iter.op-}),
1274-
\tcode{operator+=}~(\ref{reverse.iter.op+=}),
1275-
\tcode{operator-=}~(\ref{reverse.iter.op-=}),
1276-
\tcode{operator[]}\iref{reverse.iter.opindex},
1277-
or the non-member operators
1278-
\tcode{operator<}~(\ref{reverse.iter.op<}),
1279-
\tcode{operator>}~(\ref{reverse.iter.op>}),\\
1280-
\tcode{operator<=}~(\ref{reverse.iter.op<=}),
1281-
\tcode{operator>=}~(\ref{reverse.iter.op>=}),
1282-
\tcode{operator-}\iref{reverse.iter.opdiff}
1272+
\tcode{operator+},
1273+
\tcode{operator-},
1274+
\tcode{operator+=},
1275+
\tcode{operator-=}\iref{reverse.iter.nav},
1276+
\tcode{operator[]}\iref{reverse.iter.elem},
1277+
or the non-member operators\iref{reverse.iter.cmp}
1278+
\tcode{operator<},
1279+
\tcode{operator>},
1280+
\tcode{operator<=},
1281+
\tcode{operator>=},
1282+
\tcode{operator-},
12831283
or
1284-
\tcode{operator+}\iref{reverse.iter.opsum}
1284+
\tcode{operator+}\iref{reverse.iter.nonmember}
12851285
are referenced in a way that requires instantiation\iref{temp.inst}.
12861286

1287-
\rSec3[reverse.iter.ops]{\tcode{reverse_iterator} operations}
1288-
1289-
\rSec4[reverse.iter.cons]{\tcode{reverse_iterator} constructor}
1287+
\rSec3[reverse.iter.cons]{\tcode{reverse_iterator} construction and assignment}
12901288

12911289
\indexlibrary{\idxcode{reverse_iterator}!constructor}%
12921290
\begin{itemdecl}
@@ -1330,8 +1328,6 @@
13301328
\tcode{u.current}.
13311329
\end{itemdescr}
13321330

1333-
\rSec4[reverse.iter.op=]{\tcode{reverse_iterator::operator=}}
1334-
13351331
\indexlibrarymember{operator=}{reverse_iterator}%
13361332
\begin{itemdecl}
13371333
template<class U>
@@ -1349,7 +1345,7 @@
13491345
\tcode{*this}.
13501346
\end{itemdescr}
13511347

1352-
\rSec4[reverse.iter.conv]{Conversion}
1348+
\rSec3[reverse.iter.conv]{Conversion}
13531349

13541350
\indexlibrarymember{base}{reverse_iterator}%
13551351
\begin{itemdecl}
@@ -1362,7 +1358,7 @@
13621358
\tcode{current}.
13631359
\end{itemdescr}
13641360

1365-
\rSec4[reverse.iter.op.star]{\tcode{operator*}}
1361+
\rSec3[reverse.iter.elem]{\tcode{reverse_iterator} element access}
13661362

13671363
\indexlibrarymember{operator*}{reverse_iterator}%
13681364
\begin{itemdecl}
@@ -1380,8 +1376,6 @@
13801376

13811377
\end{itemdescr}
13821378

1383-
\rSec4[reverse.iter.opref]{\tcode{operator->}}
1384-
13851379
\indexlibrarymember{operator->}{reverse_iterator}%
13861380
\begin{itemdecl}
13871381
constexpr pointer operator->() const;
@@ -1392,7 +1386,40 @@
13921386
\returns \tcode{addressof(operator*())}.
13931387
\end{itemdescr}
13941388

1395-
\rSec4[reverse.iter.op++]{\tcode{operator++}}
1389+
\indexlibrarymember{operator[]}{reverse_iterator}%
1390+
\begin{itemdecl}
1391+
constexpr @\unspec@ operator[](difference_type n) const;
1392+
\end{itemdecl}
1393+
1394+
\begin{itemdescr}
1395+
\pnum
1396+
\returns
1397+
\tcode{current[-n-1]}.
1398+
\end{itemdescr}
1399+
1400+
\rSec3[reverse.iter.nav]{\tcode{reverse_iterator} navigation}
1401+
1402+
\indexlibrarymember{operator+}{reverse_iterator}%
1403+
\begin{itemdecl}
1404+
constexpr reverse_iterator operator+(difference_type n) const;
1405+
\end{itemdecl}
1406+
1407+
\begin{itemdescr}
1408+
\pnum
1409+
\returns
1410+
\tcode{reverse_iterator(current-n)}.
1411+
\end{itemdescr}
1412+
1413+
\indexlibrarymember{operator-}{reverse_iterator}%
1414+
\begin{itemdecl}
1415+
constexpr reverse_iterator operator-(difference_type n) const;
1416+
\end{itemdecl}
1417+
1418+
\begin{itemdescr}
1419+
\pnum
1420+
\returns
1421+
\tcode{reverse_iterator(current+n)}.
1422+
\end{itemdescr}
13961423

13971424
\indexlibrarymember{operator++}{reverse_iterator}%
13981425
\begin{itemdecl}
@@ -1425,8 +1452,6 @@
14251452
\end{codeblock}
14261453
\end{itemdescr}
14271454

1428-
\rSec4[reverse.iter.op\dcr]{\tcode{operator\dcr}}
1429-
14301455
\indexlibrarymember{operator\dcr}{reverse_iterator}%
14311456
\begin{itemdecl}
14321457
constexpr reverse_iterator& operator--();
@@ -1458,21 +1483,6 @@
14581483
\end{codeblock}
14591484
\end{itemdescr}
14601485

1461-
\rSec4[reverse.iter.op+]{\tcode{operator+}}
1462-
1463-
\indexlibrarymember{operator+}{reverse_iterator}%
1464-
\begin{itemdecl}
1465-
constexpr reverse_iterator operator+(difference_type n) const;
1466-
\end{itemdecl}
1467-
1468-
\begin{itemdescr}
1469-
\pnum
1470-
\returns
1471-
\tcode{reverse_iterator(current-n)}.
1472-
\end{itemdescr}
1473-
1474-
\rSec4[reverse.iter.op+=]{\tcode{operator+=}}
1475-
14761486
\indexlibrarymember{operator+=}{reverse_iterator}%
14771487
\begin{itemdecl}
14781488
constexpr reverse_iterator& operator+=(difference_type n);
@@ -1488,21 +1498,6 @@
14881498
\tcode{*this}.
14891499
\end{itemdescr}
14901500

1491-
\rSec4[reverse.iter.op-]{\tcode{operator-}}
1492-
1493-
\indexlibrarymember{operator-}{reverse_iterator}%
1494-
\begin{itemdecl}
1495-
constexpr reverse_iterator operator-(difference_type n) const;
1496-
\end{itemdecl}
1497-
1498-
\begin{itemdescr}
1499-
\pnum
1500-
\returns
1501-
\tcode{reverse_iterator(current+n)}.
1502-
\end{itemdescr}
1503-
1504-
\rSec4[reverse.iter.op-=]{\tcode{operator-=}}
1505-
15061501
\indexlibrarymember{operator-=}{reverse_iterator}%
15071502
\begin{itemdecl}
15081503
constexpr reverse_iterator& operator-=(difference_type n);
@@ -1518,20 +1513,7 @@
15181513
\tcode{*this}.
15191514
\end{itemdescr}
15201515

1521-
\rSec4[reverse.iter.opindex]{\tcode{operator[]}}
1522-
1523-
\indexlibrarymember{operator[]}{reverse_iterator}%
1524-
\begin{itemdecl}
1525-
constexpr @\unspec@ operator[](difference_type n) const;
1526-
\end{itemdecl}
1527-
1528-
\begin{itemdescr}
1529-
\pnum
1530-
\returns
1531-
\tcode{current[-n-1]}.
1532-
\end{itemdescr}
1533-
1534-
\rSec4[reverse.iter.op==]{\tcode{operator==}}
1516+
\rSec3[reverse.iter.cmp]{\tcode{reverse_iterator} comparisons}
15351517

15361518
\indexlibrarymember{operator==}{reverse_iterator}%
15371519
\begin{itemdecl}
@@ -1547,8 +1529,6 @@
15471529
\tcode{x.current == y.current}.
15481530
\end{itemdescr}
15491531

1550-
\rSec4[reverse.iter.op<]{\tcode{operator<}}
1551-
15521532
\indexlibrarymember{operator<}{reverse_iterator}%
15531533
\begin{itemdecl}
15541534
template<class Iterator1, class Iterator2>
@@ -1563,8 +1543,6 @@
15631543
\tcode{x.current > y.current}.
15641544
\end{itemdescr}
15651545

1566-
\rSec4[reverse.iter.op!=]{\tcode{operator!=}}
1567-
15681546
\indexlibrarymember{operator"!=}{reverse_iterator}%
15691547
\begin{itemdecl}
15701548
template<class Iterator1, class Iterator2>
@@ -1579,8 +1557,6 @@
15791557
\tcode{x.current != y.current}.
15801558
\end{itemdescr}
15811559

1582-
\rSec4[reverse.iter.op>]{\tcode{operator>}}
1583-
15841560
\indexlibrarymember{operator>}{reverse_iterator}%
15851561
\begin{itemdecl}
15861562
template<class Iterator1, class Iterator2>
@@ -1595,8 +1571,6 @@
15951571
\tcode{x.current < y.current}.
15961572
\end{itemdescr}
15971573

1598-
\rSec4[reverse.iter.op>=]{\tcode{operator>=}}
1599-
16001574
\indexlibrarymember{operator>=}{reverse_iterator}%
16011575
\begin{itemdecl}
16021576
template<class Iterator1, class Iterator2>
@@ -1611,8 +1585,6 @@
16111585
\tcode{x.current <= y.current}.
16121586
\end{itemdescr}
16131587

1614-
\rSec4[reverse.iter.op<=]{\tcode{operator<=}}
1615-
16161588
\indexlibrarymember{operator<=}{reverse_iterator}%
16171589
\begin{itemdecl}
16181590
template<class Iterator1, class Iterator2>
@@ -1627,7 +1599,7 @@
16271599
\tcode{x.current >= y.current}.
16281600
\end{itemdescr}
16291601

1630-
\rSec4[reverse.iter.opdiff]{\tcode{operator-}}
1602+
\rSec3[reverse.iter.nonmember]{Non-member functions}
16311603

16321604
\indexlibrarymember{operator-}{reverse_iterator}%
16331605
\begin{itemdecl}
@@ -1643,8 +1615,6 @@
16431615
\tcode{y.current - x.current}.
16441616
\end{itemdescr}
16451617

1646-
\rSec4[reverse.iter.opsum]{\tcode{operator+}}
1647-
16481618
\indexlibrarymember{operator+}{reverse_iterator}%
16491619
\begin{itemdecl}
16501620
template<class Iterator>
@@ -1659,8 +1629,6 @@
16591629
\tcode{reverse_iterator<Iterator> (x.current - n)}.
16601630
\end{itemdescr}
16611631

1662-
\rSec4[reverse.iter.make]{Non-member function \tcode{make_reverse_iterator()}}
1663-
16641632
\indexlibrary{\idxcode{reverse_iterator}!\idxcode{make_reverse_iterator} non-member function}%
16651633
\indexlibrary{\idxcode{make_reverse_iterator}}%
16661634
\begin{itemdecl}

source/xrefdelta.tex

+26
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,32 @@
7676
\movedxref{insert.iter.op*}{insert.iter.ops}
7777
\movedxref{insert.iter.op++}{insert.iter.ops}
7878

79+
% Single-item [reverse.iterators] subclauses were dissolved.
80+
\movedxref{reverse.iter.op==}{reverse.iter.cmp}
81+
\movedxref{reverse.iter.op<}{reverse.iter.cmp}
82+
\movedxref{reverse.iter.op!=}{reverse.iter.cmp}
83+
\movedxref{reverse.iter.op>}{reverse.iter.cmp}
84+
\movedxref{reverse.iter.op>=}{reverse.iter.cmp}
85+
\movedxref{reverse.iter.op<=}{reverse.iter.cmp}
86+
87+
\movedxref{reverse.iter.star}{reverse.iter.elem}
88+
\movedxref{reverse.iter.opref}{reverse.iter.elem}
89+
\movedxref{reverse.iter.opindex}{reverse.iter.elem}
90+
91+
\movedxref{reverse.iter.op+}{reverse.iter.nav}
92+
\movedxref{reverse.iter.op-}{reverse.iter.nav}
93+
\movedxref{reverse.iter.op++}{reverse.iter.nav}
94+
\movedxref{reverse.iter.op+=}{reverse.iter.nav}
95+
\movedxref{reverse.iter.op\dcr}{reverse.iter.nav}
96+
\movedxref{reverse.iter.op-=}{reverse.iter.nav}
97+
\movedxref{reverse.iter.op++}{reverse.iter.nav}
98+
99+
\movedxref{reverse.iter.opdiff}{reverse.iter.nonmember}
100+
\movedxref{reverse.iter.opsum}{reverse.iter.nonmember}
101+
\movedxref{reverse.iter.make}{reverse.iter.nonmember}
102+
103+
\removedxref{reverse.iter.ops}
104+
79105
% Deprecated features.
80106
%\deprxref{old.label} (if moved to depr.old.label, otherwise use \movedxref)
81107

0 commit comments

Comments
 (0)