|
1269 | 1269 | \tcode{Iterator}
|
1270 | 1270 | shall meet the requirements of a random access iterator\iref{random.access.iterators}
|
1271 | 1271 | 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-}, |
1283 | 1283 | or
|
1284 |
| -\tcode{operator+}\iref{reverse.iter.opsum} |
| 1284 | +\tcode{operator+}\iref{reverse.iter.nonmember} |
1285 | 1285 | are referenced in a way that requires instantiation\iref{temp.inst}.
|
1286 | 1286 |
|
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} |
1290 | 1288 |
|
1291 | 1289 | \indexlibrary{\idxcode{reverse_iterator}!constructor}%
|
1292 | 1290 | \begin{itemdecl}
|
|
1330 | 1328 | \tcode{u.current}.
|
1331 | 1329 | \end{itemdescr}
|
1332 | 1330 |
|
1333 |
| -\rSec4[reverse.iter.op=]{\tcode{reverse_iterator::operator=}} |
1334 |
| - |
1335 | 1331 | \indexlibrarymember{operator=}{reverse_iterator}%
|
1336 | 1332 | \begin{itemdecl}
|
1337 | 1333 | template<class U>
|
|
1349 | 1345 | \tcode{*this}.
|
1350 | 1346 | \end{itemdescr}
|
1351 | 1347 |
|
1352 |
| -\rSec4[reverse.iter.conv]{Conversion} |
| 1348 | +\rSec3[reverse.iter.conv]{Conversion} |
1353 | 1349 |
|
1354 | 1350 | \indexlibrarymember{base}{reverse_iterator}%
|
1355 | 1351 | \begin{itemdecl}
|
|
1362 | 1358 | \tcode{current}.
|
1363 | 1359 | \end{itemdescr}
|
1364 | 1360 |
|
1365 |
| -\rSec4[reverse.iter.op.star]{\tcode{operator*}} |
| 1361 | +\rSec3[reverse.iter.elem]{\tcode{reverse_iterator} element access} |
1366 | 1362 |
|
1367 | 1363 | \indexlibrarymember{operator*}{reverse_iterator}%
|
1368 | 1364 | \begin{itemdecl}
|
|
1380 | 1376 |
|
1381 | 1377 | \end{itemdescr}
|
1382 | 1378 |
|
1383 |
| -\rSec4[reverse.iter.opref]{\tcode{operator->}} |
1384 |
| - |
1385 | 1379 | \indexlibrarymember{operator->}{reverse_iterator}%
|
1386 | 1380 | \begin{itemdecl}
|
1387 | 1381 | constexpr pointer operator->() const;
|
|
1392 | 1386 | \returns \tcode{addressof(operator*())}.
|
1393 | 1387 | \end{itemdescr}
|
1394 | 1388 |
|
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} |
1396 | 1423 |
|
1397 | 1424 | \indexlibrarymember{operator++}{reverse_iterator}%
|
1398 | 1425 | \begin{itemdecl}
|
|
1425 | 1452 | \end{codeblock}
|
1426 | 1453 | \end{itemdescr}
|
1427 | 1454 |
|
1428 |
| -\rSec4[reverse.iter.op\dcr]{\tcode{operator\dcr}} |
1429 |
| - |
1430 | 1455 | \indexlibrarymember{operator\dcr}{reverse_iterator}%
|
1431 | 1456 | \begin{itemdecl}
|
1432 | 1457 | constexpr reverse_iterator& operator--();
|
|
1458 | 1483 | \end{codeblock}
|
1459 | 1484 | \end{itemdescr}
|
1460 | 1485 |
|
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 |
| - |
1476 | 1486 | \indexlibrarymember{operator+=}{reverse_iterator}%
|
1477 | 1487 | \begin{itemdecl}
|
1478 | 1488 | constexpr reverse_iterator& operator+=(difference_type n);
|
|
1488 | 1498 | \tcode{*this}.
|
1489 | 1499 | \end{itemdescr}
|
1490 | 1500 |
|
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 |
| - |
1506 | 1501 | \indexlibrarymember{operator-=}{reverse_iterator}%
|
1507 | 1502 | \begin{itemdecl}
|
1508 | 1503 | constexpr reverse_iterator& operator-=(difference_type n);
|
|
1518 | 1513 | \tcode{*this}.
|
1519 | 1514 | \end{itemdescr}
|
1520 | 1515 |
|
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} |
1535 | 1517 |
|
1536 | 1518 | \indexlibrarymember{operator==}{reverse_iterator}%
|
1537 | 1519 | \begin{itemdecl}
|
|
1547 | 1529 | \tcode{x.current == y.current}.
|
1548 | 1530 | \end{itemdescr}
|
1549 | 1531 |
|
1550 |
| -\rSec4[reverse.iter.op<]{\tcode{operator<}} |
1551 |
| - |
1552 | 1532 | \indexlibrarymember{operator<}{reverse_iterator}%
|
1553 | 1533 | \begin{itemdecl}
|
1554 | 1534 | template<class Iterator1, class Iterator2>
|
|
1563 | 1543 | \tcode{x.current > y.current}.
|
1564 | 1544 | \end{itemdescr}
|
1565 | 1545 |
|
1566 |
| -\rSec4[reverse.iter.op!=]{\tcode{operator!=}} |
1567 |
| - |
1568 | 1546 | \indexlibrarymember{operator"!=}{reverse_iterator}%
|
1569 | 1547 | \begin{itemdecl}
|
1570 | 1548 | template<class Iterator1, class Iterator2>
|
|
1579 | 1557 | \tcode{x.current != y.current}.
|
1580 | 1558 | \end{itemdescr}
|
1581 | 1559 |
|
1582 |
| -\rSec4[reverse.iter.op>]{\tcode{operator>}} |
1583 |
| - |
1584 | 1560 | \indexlibrarymember{operator>}{reverse_iterator}%
|
1585 | 1561 | \begin{itemdecl}
|
1586 | 1562 | template<class Iterator1, class Iterator2>
|
|
1595 | 1571 | \tcode{x.current < y.current}.
|
1596 | 1572 | \end{itemdescr}
|
1597 | 1573 |
|
1598 |
| -\rSec4[reverse.iter.op>=]{\tcode{operator>=}} |
1599 |
| - |
1600 | 1574 | \indexlibrarymember{operator>=}{reverse_iterator}%
|
1601 | 1575 | \begin{itemdecl}
|
1602 | 1576 | template<class Iterator1, class Iterator2>
|
|
1611 | 1585 | \tcode{x.current <= y.current}.
|
1612 | 1586 | \end{itemdescr}
|
1613 | 1587 |
|
1614 |
| -\rSec4[reverse.iter.op<=]{\tcode{operator<=}} |
1615 |
| - |
1616 | 1588 | \indexlibrarymember{operator<=}{reverse_iterator}%
|
1617 | 1589 | \begin{itemdecl}
|
1618 | 1590 | template<class Iterator1, class Iterator2>
|
|
1627 | 1599 | \tcode{x.current >= y.current}.
|
1628 | 1600 | \end{itemdescr}
|
1629 | 1601 |
|
1630 |
| -\rSec4[reverse.iter.opdiff]{\tcode{operator-}} |
| 1602 | +\rSec3[reverse.iter.nonmember]{Non-member functions} |
1631 | 1603 |
|
1632 | 1604 | \indexlibrarymember{operator-}{reverse_iterator}%
|
1633 | 1605 | \begin{itemdecl}
|
|
1643 | 1615 | \tcode{y.current - x.current}.
|
1644 | 1616 | \end{itemdescr}
|
1645 | 1617 |
|
1646 |
| -\rSec4[reverse.iter.opsum]{\tcode{operator+}} |
1647 |
| - |
1648 | 1618 | \indexlibrarymember{operator+}{reverse_iterator}%
|
1649 | 1619 | \begin{itemdecl}
|
1650 | 1620 | template<class Iterator>
|
|
1659 | 1629 | \tcode{reverse_iterator<Iterator> (x.current - n)}.
|
1660 | 1630 | \end{itemdescr}
|
1661 | 1631 |
|
1662 |
| -\rSec4[reverse.iter.make]{Non-member function \tcode{make_reverse_iterator()}} |
1663 |
| - |
1664 | 1632 | \indexlibrary{\idxcode{reverse_iterator}!\idxcode{make_reverse_iterator} non-member function}%
|
1665 | 1633 | \indexlibrary{\idxcode{make_reverse_iterator}}%
|
1666 | 1634 | \begin{itemdecl}
|
|
0 commit comments