|
1591 | 1591 | The template definitions in the \Cpp{} standard library
|
1592 | 1592 | refer to various named requirements whose details are set out in
|
1593 | 1593 | subclauses
|
1594 |
| -\ref{utility.types.req.eqcomp}, |
1595 |
| -\ref{utility.types.req.ltcomp}, |
1596 |
| -\ref{utility.types.req.defcons}, |
1597 |
| -\ref{utility.types.req.movecons}, |
1598 |
| -\ref{utility.types.req.copycons}, |
1599 |
| -\ref{utility.types.req.moveass}, |
1600 |
| -\ref{utility.types.req.copyass}, and |
1601 |
| -\ref{utility.types.req.destruct}. |
| 1594 | +\ref{utility.req.cpp17.equalitycomparable}, |
| 1595 | +\ref{utility.req.cpp17.lessthancomparable}, |
| 1596 | +\ref{utility.req.cpp17.defaultconstructible}, |
| 1597 | +\ref{utility.req.cpp17.moveconstructible}, |
| 1598 | +\ref{utility.req.cpp17.copyconstructible}, |
| 1599 | +\ref{utility.req.cpp17.moveassignable}, |
| 1600 | +\ref{utility.req.cpp17.copyassignable}, and |
| 1601 | +\ref{utility.req.cpp17.destructible}. |
1602 | 1602 | In those subclauses,
|
1603 | 1603 | \begin{itemize}
|
1604 | 1604 | \item
|
|
1625 | 1625 | \tcode{T()} shall be a well-defined expression\iref{dcl.init} if one of those
|
1626 | 1626 | signatures is called using the default argument\iref{dcl.fct.default}.
|
1627 | 1627 |
|
1628 |
| -\rSec3[utility.types.req.eqcomp]{\oldconcept{EqualityComparable} requirement} |
| 1628 | +\rSec3[utility.req.cpp17.equalitycomparable]{\oldconcept{EqualityComparable} requirement} |
1629 | 1629 |
|
1630 | 1630 | \pnum
|
1631 | 1631 | A type \tcode{T} meets the \oldconcept{EqualityComparable} requirement
|
|
1654 | 1654 | \end{itemize}
|
1655 | 1655 | \end{itemdescr}
|
1656 | 1656 |
|
1657 |
| -\rSec3[utility.types.req.ltcomp]{\oldconcept{LessThanComparable} requirement} |
| 1657 | +\rSec3[utility.req.cpp17.lessthancomparable]{\oldconcept{LessThanComparable} requirement} |
1658 | 1658 |
|
1659 | 1659 | \pnum
|
1660 | 1660 | A type \tcode{T} meets the \oldconcept{LessThanComparable} requirement
|
|
1674 | 1674 | \tcode{<} is a strict weak ordering relation\iref{alg.sorting}.
|
1675 | 1675 | \end{itemdescr}
|
1676 | 1676 |
|
1677 |
| -\rSec3[utility.types.req.defcons]{\oldconcept{DefaultConstructible} requirement} |
| 1677 | +\rSec3[utility.req.cpp17.defaultconstructible]{\oldconcept{DefaultConstructible} requirement} |
1678 | 1678 |
|
1679 | 1679 | \pnum
|
1680 | 1680 | A type \tcode{T} meets the \oldconcept{DefaultConstructible} requirement
|
|
1711 | 1711 | A value-initialized or aggregate-initialized object of type \tcode{T}.
|
1712 | 1712 | \end{itemdescr}
|
1713 | 1713 |
|
1714 |
| -\rSec3[utility.types.req.movecons]{\oldconcept{MoveConstructible} requirement} |
| 1714 | +\rSec3[utility.req.cpp17.moveconstructible]{\oldconcept{MoveConstructible} requirement} |
1715 | 1715 |
|
1716 | 1716 | \pnum
|
1717 | 1717 | A type \tcode{T} meets the \oldconcept{MoveConstructible} requirement
|
|
1759 | 1759 | \end{note}
|
1760 | 1760 | \end{itemdescr}
|
1761 | 1761 |
|
1762 |
| -\rSec3[utility.types.req.copycons]{\oldconcept{CopyConstructible} requirement} |
| 1762 | +\rSec3[utility.req.cpp17.copyconstructible]{\oldconcept{CopyConstructible} requirement} |
1763 | 1763 |
|
1764 | 1764 | \pnum
|
1765 | 1765 | A type \tcode{T} meets the \oldconcept{CopyConstructible} requirement
|
|
1785 | 1785 | The value of \tcode{v} is unchanged and is equivalent to \tcode{T(v)}.
|
1786 | 1786 | \end{itemdescr}
|
1787 | 1787 |
|
1788 |
| -\rSec3[utility.types.req.moveass]{\oldconcept{MoveAssignable} requirement} |
| 1788 | +\rSec3[utility.req.cpp17.moveassignable]{\oldconcept{MoveAssignable} requirement} |
1789 | 1789 |
|
1790 | 1790 | \pnum
|
1791 | 1791 | A type \tcode{T} meets the \oldconcept{MoveAssignable} requirement
|
|
1822 | 1822 | \end{note}
|
1823 | 1823 | \end{itemdescr}
|
1824 | 1824 |
|
1825 |
| -\rSec3[utility.types.req.copyass]{\oldconcept{CopyAssignable} requirement} |
| 1825 | +\rSec3[utility.req.cpp17.copyassignable]{\oldconcept{CopyAssignable} requirement} |
1826 | 1826 |
|
1827 | 1827 | \pnum
|
1828 | 1828 | A type \tcode{T} meets the \oldconcept{CopyAssignable} requirement
|
|
1846 | 1846 | \tcode{t}.
|
1847 | 1847 | \end{itemdescr}
|
1848 | 1848 |
|
1849 |
| -\rSec3[utility.types.req.destruct]{\oldconcept{Destructible} requirement} |
| 1849 | +\rSec3[utility.req.cpp17.destructible]{\oldconcept{Destructible} requirement} |
1850 | 1850 |
|
1851 | 1851 | \pnum
|
1852 | 1852 | A type \tcode{T} meets the \oldconcept{Destructible} requirement
|
|
2057 | 2057 | \begin{itemize}
|
2058 | 2058 | \item it is a function object type\iref{function.objects},
|
2059 | 2059 | \item it meets the \oldconcept{CopyConstructible} (\tref{cpp17.copyconstructible}) and
|
2060 |
| - \oldconcept{Destructible} (\tref{cpp17.destructible}) requirements, and |
| 2060 | + \oldconcept{Destructible}\iref{utility.req.cpp17.destructible} requirements, and |
2061 | 2061 | \item the expressions shown in \tref{cpp17.hash}
|
2062 | 2062 | are valid and have the indicated semantics.
|
2063 | 2063 | \end{itemize}
|
|
0 commit comments