|
1854 | 1854 | }\\
|
1855 | 1855 | \end{oldconcepttable}
|
1856 | 1856 |
|
1857 |
| -\begin{oldconcepttable}{CopyConstructible}{ (in addition to \oldconcept{MoveConstructible})}{cpp17.copyconstructible} |
| 1857 | +\begin{oldconcepttable}{CopyConstructible}{ (in addition to \oldconceptref{MoveConstructible})}{cpp17.copyconstructible} |
1858 | 1858 | {p{1in}p{4.15in}}
|
1859 | 1859 | \topline
|
1860 | 1860 | \hdstyle{Expression} & \hdstyle{Post-condition} \\ \capsep
|
|
1881 | 1881 | }\\
|
1882 | 1882 | \end{oldconcepttable}
|
1883 | 1883 |
|
1884 |
| -\begin{oldconcepttable}{CopyAssignable}{ (in addition to \oldconcept{MoveAssignable})}{cpp17.copyassignable} |
| 1884 | +\begin{oldconcepttable}{CopyAssignable}{ (in addition to \oldconceptref{MoveAssignable})}{cpp17.copyassignable} |
1885 | 1885 | {p{1in}p{1in}p{1in}p{1.9in}}
|
1886 | 1886 | \topline
|
1887 | 1887 | \hdstyle{Expression} & \hdstyle{Return type} & \hdstyle{Return value} & \hdstyle{Post-condition} \\ \capsep
|
|
1895 | 1895 | \tcode{u.\~T()} & All resources owned by \tcode{u} are reclaimed, no exception is propagated. \\ \rowsep
|
1896 | 1896 | \multicolumn{2}{|l|}{
|
1897 | 1897 | \begin{tailnote}
|
1898 |
| - Array types and non-object types are not \oldconcept{Destructible}. |
| 1898 | + Array types and non-object types are not \oldconceptref{Destructible}. |
1899 | 1899 | \end{tailnote}
|
1900 | 1900 | } \\
|
1901 | 1901 | \end{oldconcepttable}
|
|
1974 | 1974 | // for rvalues and lvalues
|
1975 | 1975 | }
|
1976 | 1976 |
|
1977 |
| -// Preconditions: \tcode{T} meets the \oldconcept{Swappable} requirements. |
| 1977 | +// Preconditions: \tcode{T} meets the \oldconceptref{Swappable} requirements. |
1978 | 1978 | template<class T>
|
1979 | 1979 | void lv_swap(T& t1, T& t2) {
|
1980 | 1980 | using std::swap;
|
|
2011 | 2011 | A \oldconcept{NullablePointer} type is a pointer-like type that supports null values.
|
2012 | 2012 | A type \tcode{P} meets the \oldconcept{\-Nullable\-Pointer} requirements if
|
2013 | 2013 | \begin{itemize}
|
2014 |
| -\item \tcode{P} meets the \oldconcept{EqualityComparable}, |
2015 |
| -\oldconcept{DefaultConstructible}, \oldconcept{CopyConstructible}, \oldconcept{\-Copy\-Assign\-able}, |
2016 |
| -\oldconcept{Swappable}, and \oldconcept{Destructible} requirements, |
| 2014 | +\item \tcode{P} meets the \oldconceptref{EqualityComparable}, |
| 2015 | +\oldconceptref{DefaultConstructible}, \oldconceptref{CopyConstructible}, \oldconcept{\-Copy\-Assign\-able}, |
| 2016 | +\oldconceptref{Swappable}, and \oldconceptref{Destructible} requirements, |
2017 | 2017 |
|
2018 | 2018 | \item the expressions shown in \tref{cpp17.nullablepointer} are
|
2019 | 2019 | valid and have the indicated semantics, and
|
|
2089 | 2089 | A type \tcode{H} meets the \defnoldconcept{Hash} requirements if
|
2090 | 2090 | \begin{itemize}
|
2091 | 2091 | \item it is a function object type\iref{function.objects},
|
2092 |
| -\item it meets the \oldconcept{CopyConstructible} (\tref{cpp17.copyconstructible}) and |
2093 |
| - \oldconcept{Destructible} (\tref{cpp17.destructible}) requirements, and |
| 2092 | +\item it meets the \oldconceptref{CopyConstructible} (\tref{cpp17.copyconstructible}) and |
| 2093 | + \oldconceptref{Destructible} (\tref{cpp17.destructible}) requirements, and |
2094 | 2094 | \item the expressions shown in \tref{cpp17.hash}
|
2095 | 2095 | are valid and have the indicated semantics.
|
2096 | 2096 | \end{itemize}
|
|
2774 | 2774 | \tcode{true_type} only if an allocator of type \tcode{X} should be copied
|
2775 | 2775 | when the client container is copy-assigned;
|
2776 | 2776 | if so, \tcode{X} shall meet
|
2777 |
| -the \oldconcept{CopyAssignable} requirements (\tref{cpp17.copyassignable}) and |
| 2777 | +the \oldconceptref{CopyAssignable} requirements (\tref{cpp17.copyassignable}) and |
2778 | 2778 | the copy operation shall not throw exceptions.
|
2779 | 2779 |
|
2780 | 2780 | \pnum
|
|
2796 | 2796 | \tcode{true_type} only if an allocator of type \tcode{X} should be moved
|
2797 | 2797 | when the client container is move-assigned;
|
2798 | 2798 | if so, \tcode{X} shall meet
|
2799 |
| -the \oldconcept{MoveAssignable} requirements (\tref{cpp17.moveassignable}) and |
| 2799 | +the \oldconceptref{MoveAssignable} requirements (\tref{cpp17.moveassignable}) and |
2800 | 2800 | the move operation shall not throw exceptions.
|
2801 | 2801 |
|
2802 | 2802 | \pnum
|
|
2818 | 2818 | \tcode{true_type} only if an allocator of type \tcode{X} should be swapped
|
2819 | 2819 | when the client container is swapped;
|
2820 | 2820 | if so,
|
2821 |
| -\tcode{X} shall meet the \oldconcept{Swappable} requirements\iref{swappable.requirements} and |
| 2821 | +\tcode{X} shall meet the \oldconceptref{Swappable} requirements\iref{swappable.requirements} and |
2822 | 2822 | the \tcode{swap} operation shall not throw exceptions.
|
2823 | 2823 |
|
2824 | 2824 | \pnum
|
|
2848 | 2848 |
|
2849 | 2849 | \pnum
|
2850 | 2850 | An allocator type \tcode{X} shall meet the
|
2851 |
| -\oldconcept{CopyConstructible} requirements (\tref{cpp17.copyconstructible}). |
| 2851 | +\oldconceptref{CopyConstructible} requirements (\tref{cpp17.copyconstructible}). |
2852 | 2852 | The \tcode{XX::pointer}, \tcode{XX::const_pointer}, \tcode{XX::void_pointer}, and
|
2853 | 2853 | \tcode{XX::const_void_pointer} types shall meet the
|
2854 | 2854 | \oldconcept{Nullable\-Pointer} requirements (\tref{cpp17.nullablepointer}).
|
2855 | 2855 | No constructor,
|
2856 | 2856 | comparison operator function, copy operation, move operation, or swap operation on
|
2857 | 2857 | these pointer types shall exit via an exception. \tcode{XX::pointer} and \tcode{XX::const_pointer} shall also
|
2858 | 2858 | meet the requirements for
|
2859 |
| -a \oldconcept{RandomAccessIterator}\iref{random.access.iterators} and |
| 2859 | +a \oldconceptref{RandomAccessIterator}\iref{random.access.iterators} and |
2860 | 2860 | the additional requirement that, when \tcode{p} and \tcode{(p + n)} are
|
2861 | 2861 | dereferenceable pointer values for some integral value \tcode{n},
|
2862 | 2862 | \begin{codeblock}
|
|
0 commit comments