|
1770 | 1770 | }\\
|
1771 | 1771 | \end{oldconcepttable}
|
1772 | 1772 |
|
1773 |
| -\begin{oldconcepttable}{CopyConstructible}{ (in addition to \oldconcept{MoveConstructible})}{cpp17.copyconstructible} |
| 1773 | +\begin{oldconcepttable}{CopyConstructible}{ (in addition to \oldconceptref{MoveConstructible})}{cpp17.copyconstructible} |
1774 | 1774 | {p{1in}p{4.15in}}
|
1775 | 1775 | \topline
|
1776 | 1776 | \hdstyle{Expression} & \hdstyle{Post-condition} \\ \capsep
|
|
1797 | 1797 | }\\
|
1798 | 1798 | \end{oldconcepttable}
|
1799 | 1799 |
|
1800 |
| -\begin{oldconcepttable}{CopyAssignable}{ (in addition to \oldconcept{MoveAssignable})}{cpp17.copyassignable} |
| 1800 | +\begin{oldconcepttable}{CopyAssignable}{ (in addition to \oldconceptref{MoveAssignable})}{cpp17.copyassignable} |
1801 | 1801 | {p{1in}p{1in}p{1in}p{1.9in}}
|
1802 | 1802 | \topline
|
1803 | 1803 | \hdstyle{Expression} & \hdstyle{Return type} & \hdstyle{Return value} & \hdstyle{Post-condition} \\ \capsep
|
|
1811 | 1811 | \tcode{u.\~T()} & All resources owned by \tcode{u} are reclaimed, no exception is propagated. \\ \rowsep
|
1812 | 1812 | \multicolumn{2}{|l|}{
|
1813 | 1813 | \begin{tailnote}
|
1814 |
| - Array types and non-object types are not \oldconcept{Destructible}. |
| 1814 | + Array types and non-object types are not \oldconceptref{Destructible}. |
1815 | 1815 | \end{tailnote}
|
1816 | 1816 | } \\
|
1817 | 1817 | \end{oldconcepttable}
|
|
1890 | 1890 | // for rvalues and lvalues
|
1891 | 1891 | }
|
1892 | 1892 |
|
1893 |
| -// Preconditions: \tcode{T} meets the \oldconcept{Swappable} requirements. |
| 1893 | +// Preconditions: \tcode{T} meets the \oldconceptref{Swappable} requirements. |
1894 | 1894 | template<class T>
|
1895 | 1895 | void lv_swap(T& t1, T& t2) {
|
1896 | 1896 | using std::swap;
|
|
1927 | 1927 | A \oldconcept{NullablePointer} type is a pointer-like type that supports null values.
|
1928 | 1928 | A type \tcode{P} meets the \oldconcept{\-Nullable\-Pointer} requirements if
|
1929 | 1929 | \begin{itemize}
|
1930 |
| -\item \tcode{P} meets the \oldconcept{EqualityComparable}, |
1931 |
| -\oldconcept{DefaultConstructible}, \oldconcept{CopyConstructible}, \oldconcept{\-Copy\-Assign\-able}, |
1932 |
| -\oldconcept{Swappable}, and \oldconcept{Destructible} requirements, |
| 1930 | +\item \tcode{P} meets the \oldconceptref{EqualityComparable}, |
| 1931 | +\oldconceptref{DefaultConstructible}, \oldconceptref{CopyConstructible}, \oldconcept{\-Copy\-Assign\-able}, |
| 1932 | +\oldconceptref{Swappable}, and \oldconceptref{Destructible} requirements, |
1933 | 1933 |
|
1934 | 1934 | \item the expressions shown in \tref{cpp17.nullablepointer} are
|
1935 | 1935 | valid and have the indicated semantics, and
|
|
2005 | 2005 | A type \tcode{H} meets the \defnoldconcept{Hash} requirements if
|
2006 | 2006 | \begin{itemize}
|
2007 | 2007 | \item it is a function object type\iref{function.objects},
|
2008 |
| -\item it meets the \oldconcept{CopyConstructible} (\tref{cpp17.copyconstructible}) and |
2009 |
| - \oldconcept{Destructible} (\tref{cpp17.destructible}) requirements, and |
| 2008 | +\item it meets the \oldconceptref{CopyConstructible} (\tref{cpp17.copyconstructible}) and |
| 2009 | + \oldconceptref{Destructible} (\tref{cpp17.destructible}) requirements, and |
2010 | 2010 | \item the expressions shown in \tref{cpp17.hash}
|
2011 | 2011 | are valid and have the indicated semantics.
|
2012 | 2012 | \end{itemize}
|
|
2690 | 2690 | \tcode{true_type} only if an allocator of type \tcode{X} should be copied
|
2691 | 2691 | when the client container is copy-assigned;
|
2692 | 2692 | if so, \tcode{X} shall meet
|
2693 |
| -the \oldconcept{CopyAssignable} requirements (\tref{cpp17.copyassignable}) and |
| 2693 | +the \oldconceptref{CopyAssignable} requirements (\tref{cpp17.copyassignable}) and |
2694 | 2694 | the copy operation shall not throw exceptions.
|
2695 | 2695 |
|
2696 | 2696 | \pnum
|
|
2712 | 2712 | \tcode{true_type} only if an allocator of type \tcode{X} should be moved
|
2713 | 2713 | when the client container is move-assigned;
|
2714 | 2714 | if so, \tcode{X} shall meet
|
2715 |
| -the \oldconcept{MoveAssignable} requirements (\tref{cpp17.moveassignable}) and |
| 2715 | +the \oldconceptref{MoveAssignable} requirements (\tref{cpp17.moveassignable}) and |
2716 | 2716 | the move operation shall not throw exceptions.
|
2717 | 2717 |
|
2718 | 2718 | \pnum
|
|
2734 | 2734 | \tcode{true_type} only if an allocator of type \tcode{X} should be swapped
|
2735 | 2735 | when the client container is swapped;
|
2736 | 2736 | if so,
|
2737 |
| -\tcode{X} shall meet the \oldconcept{Swappable} requirements\iref{swappable.requirements} and |
| 2737 | +\tcode{X} shall meet the \oldconceptref{Swappable} requirements\iref{swappable.requirements} and |
2738 | 2738 | the \tcode{swap} operation shall not throw exceptions.
|
2739 | 2739 |
|
2740 | 2740 | \pnum
|
|
2764 | 2764 |
|
2765 | 2765 | \pnum
|
2766 | 2766 | An allocator type \tcode{X} shall meet the
|
2767 |
| -\oldconcept{CopyConstructible} requirements (\tref{cpp17.copyconstructible}). |
| 2767 | +\oldconceptref{CopyConstructible} requirements (\tref{cpp17.copyconstructible}). |
2768 | 2768 | The \tcode{XX::pointer}, \tcode{XX::const_pointer}, \tcode{XX::void_pointer}, and
|
2769 | 2769 | \tcode{XX::const_void_pointer} types shall meet the
|
2770 | 2770 | \oldconcept{Nullable\-Pointer} requirements (\tref{cpp17.nullablepointer}).
|
2771 | 2771 | No constructor,
|
2772 | 2772 | comparison operator function, copy operation, move operation, or swap operation on
|
2773 | 2773 | these pointer types shall exit via an exception. \tcode{XX::pointer} and \tcode{XX::const_pointer} shall also
|
2774 | 2774 | meet the requirements for
|
2775 |
| -a \oldconcept{RandomAccessIterator}\iref{random.access.iterators} and |
| 2775 | +a \oldconceptref{RandomAccessIterator}\iref{random.access.iterators} and |
2776 | 2776 | the additional requirement that, when \tcode{p} and \tcode{(p + n)} are
|
2777 | 2777 | dereferenceable pointer values for some integral value \tcode{n},
|
2778 | 2778 | \begin{codeblock}
|
|
0 commit comments