|
1862 | 1862 | }\\
|
1863 | 1863 | \end{oldconcepttable}
|
1864 | 1864 |
|
1865 |
| -\begin{oldconcepttable}{CopyConstructible}{ (in addition to \oldconcept{MoveConstructible})}{cpp17.copyconstructible} |
| 1865 | +\begin{oldconcepttable}{CopyConstructible}{ (in addition to \oldconceptref{MoveConstructible})}{cpp17.copyconstructible} |
1866 | 1866 | {p{1in}p{4.15in}}
|
1867 | 1867 | \topline
|
1868 | 1868 | \hdstyle{Expression} & \hdstyle{Post-condition} \\ \capsep
|
|
1889 | 1889 | }\\
|
1890 | 1890 | \end{oldconcepttable}
|
1891 | 1891 |
|
1892 |
| -\begin{oldconcepttable}{CopyAssignable}{ (in addition to \oldconcept{MoveAssignable})}{cpp17.copyassignable} |
| 1892 | +\begin{oldconcepttable}{CopyAssignable}{ (in addition to \oldconceptref{MoveAssignable})}{cpp17.copyassignable} |
1893 | 1893 | {p{1in}p{1in}p{1in}p{1.9in}}
|
1894 | 1894 | \topline
|
1895 | 1895 | \hdstyle{Expression} & \hdstyle{Return type} & \hdstyle{Return value} & \hdstyle{Post-condition} \\ \capsep
|
|
1903 | 1903 | \tcode{u.\~T()} & All resources owned by \tcode{u} are reclaimed, no exception is propagated. \\ \rowsep
|
1904 | 1904 | \multicolumn{2}{|l|}{
|
1905 | 1905 | \begin{tailnote}
|
1906 |
| - Array types and non-object types are not \oldconcept{Destructible}. |
| 1906 | + Array types and non-object types are not \oldconceptref{Destructible}. |
1907 | 1907 | \end{tailnote}
|
1908 | 1908 | } \\
|
1909 | 1909 | \end{oldconcepttable}
|
|
1982 | 1982 | // for rvalues and lvalues
|
1983 | 1983 | }
|
1984 | 1984 |
|
1985 |
| -// Preconditions: \tcode{T} meets the \oldconcept{Swappable} requirements. |
| 1985 | +// Preconditions: \tcode{T} meets the \oldconceptref{Swappable} requirements. |
1986 | 1986 | template<class T>
|
1987 | 1987 | void lv_swap(T& t1, T& t2) {
|
1988 | 1988 | using std::swap;
|
|
2019 | 2019 | A \oldconcept{NullablePointer} type is a pointer-like type that supports null values.
|
2020 | 2020 | A type \tcode{P} meets the \oldconcept{\-Nullable\-Pointer} requirements if
|
2021 | 2021 | \begin{itemize}
|
2022 |
| -\item \tcode{P} meets the \oldconcept{EqualityComparable}, |
2023 |
| -\oldconcept{DefaultConstructible}, \oldconcept{CopyConstructible}, \oldconcept{\-Copy\-Assign\-able}, |
2024 |
| -\oldconcept{Swappable}, and \oldconcept{Destructible} requirements, |
| 2022 | +\item \tcode{P} meets the \oldconceptref{EqualityComparable}, |
| 2023 | +\oldconceptref{DefaultConstructible}, \oldconceptref{CopyConstructible}, \oldconcept{\-Copy\-Assign\-able}, |
| 2024 | +\oldconceptref{Swappable}, and \oldconceptref{Destructible} requirements, |
2025 | 2025 |
|
2026 | 2026 | \item the expressions shown in \tref{cpp17.nullablepointer} are
|
2027 | 2027 | valid and have the indicated semantics, and
|
|
2097 | 2097 | A type \tcode{H} meets the \defnoldconcept{Hash} requirements if
|
2098 | 2098 | \begin{itemize}
|
2099 | 2099 | \item it is a function object type\iref{function.objects},
|
2100 |
| -\item it meets the \oldconcept{CopyConstructible} (\tref{cpp17.copyconstructible}) and |
2101 |
| - \oldconcept{Destructible} (\tref{cpp17.destructible}) requirements, and |
| 2100 | +\item it meets the \oldconceptref{CopyConstructible} (\tref{cpp17.copyconstructible}) and |
| 2101 | + \oldconceptref{Destructible} (\tref{cpp17.destructible}) requirements, and |
2102 | 2102 | \item the expressions shown in \tref{cpp17.hash}
|
2103 | 2103 | are valid and have the indicated semantics.
|
2104 | 2104 | \end{itemize}
|
|
2782 | 2782 | \tcode{true_type} only if an allocator of type \tcode{X} should be copied
|
2783 | 2783 | when the client container is copy-assigned;
|
2784 | 2784 | if so, \tcode{X} shall meet
|
2785 |
| -the \oldconcept{CopyAssignable} requirements (\tref{cpp17.copyassignable}) and |
| 2785 | +the \oldconceptref{CopyAssignable} requirements (\tref{cpp17.copyassignable}) and |
2786 | 2786 | the copy operation shall not throw exceptions.
|
2787 | 2787 |
|
2788 | 2788 | \pnum
|
|
2804 | 2804 | \tcode{true_type} only if an allocator of type \tcode{X} should be moved
|
2805 | 2805 | when the client container is move-assigned;
|
2806 | 2806 | if so, \tcode{X} shall meet
|
2807 |
| -the \oldconcept{MoveAssignable} requirements (\tref{cpp17.moveassignable}) and |
| 2807 | +the \oldconceptref{MoveAssignable} requirements (\tref{cpp17.moveassignable}) and |
2808 | 2808 | the move operation shall not throw exceptions.
|
2809 | 2809 |
|
2810 | 2810 | \pnum
|
|
2826 | 2826 | \tcode{true_type} only if an allocator of type \tcode{X} should be swapped
|
2827 | 2827 | when the client container is swapped;
|
2828 | 2828 | if so,
|
2829 |
| -\tcode{X} shall meet the \oldconcept{Swappable} requirements\iref{swappable.requirements} and |
| 2829 | +\tcode{X} shall meet the \oldconceptref{Swappable} requirements\iref{swappable.requirements} and |
2830 | 2830 | the \tcode{swap} operation shall not throw exceptions.
|
2831 | 2831 |
|
2832 | 2832 | \pnum
|
|
2856 | 2856 |
|
2857 | 2857 | \pnum
|
2858 | 2858 | An allocator type \tcode{X} shall meet the
|
2859 |
| -\oldconcept{CopyConstructible} requirements (\tref{cpp17.copyconstructible}). |
| 2859 | +\oldconceptref{CopyConstructible} requirements (\tref{cpp17.copyconstructible}). |
2860 | 2860 | The \tcode{XX::pointer}, \tcode{XX::const_pointer}, \tcode{XX::void_pointer}, and
|
2861 | 2861 | \tcode{XX::const_void_pointer} types shall meet the
|
2862 | 2862 | \oldconcept{Nullable\-Pointer} requirements (\tref{cpp17.nullablepointer}).
|
2863 | 2863 | No constructor,
|
2864 | 2864 | comparison operator function, copy operation, move operation, or swap operation on
|
2865 | 2865 | these pointer types shall exit via an exception. \tcode{XX::pointer} and \tcode{XX::const_pointer} shall also
|
2866 | 2866 | meet the requirements for
|
2867 |
| -a \oldconcept{RandomAccessIterator}\iref{random.access.iterators} and |
| 2867 | +a \oldconceptref{RandomAccessIterator}\iref{random.access.iterators} and |
2868 | 2868 | the additional requirement that, when \tcode{p} and \tcode{(p + n)} are
|
2869 | 2869 | dereferenceable pointer values for some integral value \tcode{n},
|
2870 | 2870 | \begin{codeblock}
|
|
0 commit comments