|
1866 | 1866 | }\\ |
1867 | 1867 | \end{oldconcepttable} |
1868 | 1868 |
|
1869 | | -\begin{oldconcepttable}{CopyConstructible}{ (in addition to \oldconcept{MoveConstructible})}{cpp17.copyconstructible} |
| 1869 | +\begin{oldconcepttable}{CopyConstructible}{ (in addition to \oldconceptref{MoveConstructible})}{cpp17.copyconstructible} |
1870 | 1870 | {p{1in}p{4.15in}} |
1871 | 1871 | \topline |
1872 | 1872 | \hdstyle{Expression} & \hdstyle{Post-condition} \\ \capsep |
|
1893 | 1893 | }\\ |
1894 | 1894 | \end{oldconcepttable} |
1895 | 1895 |
|
1896 | | -\begin{oldconcepttable}{CopyAssignable}{ (in addition to \oldconcept{MoveAssignable})}{cpp17.copyassignable} |
| 1896 | +\begin{oldconcepttable}{CopyAssignable}{ (in addition to \oldconceptref{MoveAssignable})}{cpp17.copyassignable} |
1897 | 1897 | {p{1in}p{1in}p{1in}p{1.9in}} |
1898 | 1898 | \topline |
1899 | 1899 | \hdstyle{Expression} & \hdstyle{Return type} & \hdstyle{Return value} & \hdstyle{Post-condition} \\ \capsep |
|
1907 | 1907 | \tcode{a.\~T()} & All resources owned by \tcode{a} are reclaimed, no exception is propagated. \\ \rowsep |
1908 | 1908 | \multicolumn{2}{|l|}{ |
1909 | 1909 | \begin{tailnote} |
1910 | | - Array types and non-object types are not \oldconcept{Destructible}. |
| 1910 | + Array types and non-object types are not \oldconceptref{Destructible}. |
1911 | 1911 | \end{tailnote} |
1912 | 1912 | } \\ |
1913 | 1913 | \end{oldconcepttable} |
|
1986 | 1986 | // for rvalues and lvalues |
1987 | 1987 | } |
1988 | 1988 |
|
1989 | | -// Preconditions: \tcode{T} meets the \oldconcept{Swappable} requirements. |
| 1989 | +// Preconditions: \tcode{T} meets the \oldconceptref{Swappable} requirements. |
1990 | 1990 | template<class T> |
1991 | 1991 | void lv_swap(T& t1, T& t2) { |
1992 | 1992 | using std::swap; |
|
2023 | 2023 | A \oldconcept{NullablePointer} type is a pointer-like type that supports null values. |
2024 | 2024 | A type \tcode{P} meets the \oldconcept{\-Nullable\-Pointer} requirements if |
2025 | 2025 | \begin{itemize} |
2026 | | -\item \tcode{P} meets the \oldconcept{EqualityComparable}, |
2027 | | -\oldconcept{DefaultConstructible}, \oldconcept{CopyConstructible}, \oldconcept{\-Copy\-Assign\-able}, |
2028 | | -\oldconcept{Swappable}, and \oldconcept{Destructible} requirements, |
| 2026 | +\item \tcode{P} meets the \oldconceptref{EqualityComparable}, |
| 2027 | +\oldconceptref{DefaultConstructible}, \oldconceptref{CopyConstructible}, \oldconcept{\-Copy\-Assign\-able}, |
| 2028 | +\oldconceptref{Swappable}, and \oldconceptref{Destructible} requirements, |
2029 | 2029 |
|
2030 | 2030 | \item the expressions shown in \tref{cpp17.nullablepointer} are |
2031 | 2031 | valid and have the indicated semantics, and |
|
2101 | 2101 | A type \tcode{H} meets the \defnoldconcept{Hash} requirements if |
2102 | 2102 | \begin{itemize} |
2103 | 2103 | \item it is a function object type\iref{function.objects}, |
2104 | | -\item it meets the \oldconcept{CopyConstructible} (\tref{cpp17.copyconstructible}) and |
2105 | | - \oldconcept{Destructible} (\tref{cpp17.destructible}) requirements, and |
| 2104 | +\item it meets the \oldconceptref{CopyConstructible} (\tref{cpp17.copyconstructible}) and |
| 2105 | + \oldconceptref{Destructible} (\tref{cpp17.destructible}) requirements, and |
2106 | 2106 | \item the expressions shown in \tref{cpp17.hash} |
2107 | 2107 | are valid and have the indicated semantics. |
2108 | 2108 | \end{itemize} |
|
2786 | 2786 | \tcode{true_type} only if an allocator of type \tcode{X} should be copied |
2787 | 2787 | when the client container is copy-assigned; |
2788 | 2788 | if so, \tcode{X} shall meet |
2789 | | -the \oldconcept{CopyAssignable} requirements (\tref{cpp17.copyassignable}) and |
| 2789 | +the \oldconceptref{CopyAssignable} requirements (\tref{cpp17.copyassignable}) and |
2790 | 2790 | the copy operation shall not throw exceptions. |
2791 | 2791 |
|
2792 | 2792 | \pnum |
|
2808 | 2808 | \tcode{true_type} only if an allocator of type \tcode{X} should be moved |
2809 | 2809 | when the client container is move-assigned; |
2810 | 2810 | if so, \tcode{X} shall meet |
2811 | | -the \oldconcept{MoveAssignable} requirements (\tref{cpp17.moveassignable}) and |
| 2811 | +the \oldconceptref{MoveAssignable} requirements (\tref{cpp17.moveassignable}) and |
2812 | 2812 | the move operation shall not throw exceptions. |
2813 | 2813 |
|
2814 | 2814 | \pnum |
|
2830 | 2830 | \tcode{true_type} only if an allocator of type \tcode{X} should be swapped |
2831 | 2831 | when the client container is swapped; |
2832 | 2832 | if so, |
2833 | | -\tcode{X} shall meet the \oldconcept{Swappable} requirements\iref{swappable.requirements} and |
| 2833 | +\tcode{X} shall meet the \oldconceptref{Swappable} requirements\iref{swappable.requirements} and |
2834 | 2834 | the \tcode{swap} operation shall not throw exceptions. |
2835 | 2835 |
|
2836 | 2836 | \pnum |
|
2860 | 2860 |
|
2861 | 2861 | \pnum |
2862 | 2862 | An allocator type \tcode{X} shall meet the |
2863 | | -\oldconcept{CopyConstructible} requirements (\tref{cpp17.copyconstructible}). |
| 2863 | +\oldconceptref{CopyConstructible} requirements (\tref{cpp17.copyconstructible}). |
2864 | 2864 | The \tcode{XX::pointer}, \tcode{XX::const_pointer}, \tcode{XX::void_pointer}, and |
2865 | 2865 | \tcode{XX::const_void_pointer} types shall meet the |
2866 | 2866 | \oldconcept{Nullable\-Pointer} requirements (\tref{cpp17.nullablepointer}). |
2867 | 2867 | No constructor, |
2868 | 2868 | comparison operator function, copy operation, move operation, or swap operation on |
2869 | 2869 | these pointer types shall exit via an exception. \tcode{XX::pointer} and \tcode{XX::const_pointer} shall also |
2870 | 2870 | meet the requirements for |
2871 | | -a \oldconcept{RandomAccessIterator}\iref{random.access.iterators} and |
| 2871 | +a \oldconceptref{RandomAccessIterator}\iref{random.access.iterators} and |
2872 | 2872 | the additional requirement that, when \tcode{p} and \tcode{(p + n)} are |
2873 | 2873 | dereferenceable pointer values for some integral value \tcode{n}, |
2874 | 2874 | \begin{codeblock} |
|
0 commit comments