@@ -16713,14 +16713,14 @@
16713
16713
unrelated to \tcode{T} and \tcode{U}.
16714
16714
Only the validity of the immediate context
16715
16715
of the \tcode{swap} expressions is considered.
16716
- \begin{note }
16716
+ \begin{tailnote }
16717
16717
The compilation of the expressions can result in side effects
16718
16718
such as the instantiation of class template specializations and
16719
16719
function template specializations,
16720
16720
the generation of implicitly-defined functions, and so on.
16721
16721
Such side effects are not in the ``immediate context'' and
16722
16722
can result in the program being ill-formed.
16723
- \end{note }
16723
+ \end{tailnote }
16724
16724
&
16725
16725
\tcode{T} and \tcode{U} shall be complete types,
16726
16726
\cv{}~\tcode{void}, or
@@ -17289,11 +17289,11 @@
17289
17289
The member typedef \tcode{type} names
17290
17290
the same type as \tcode{T}
17291
17291
except that any top-level const-qualifier has been removed.
17292
- \begin{example }
17292
+ \begin{tailexample }
17293
17293
\tcode{remove_const_t<const volatile int>} evaluates
17294
17294
to \tcode{volatile int}, whereas \tcode{remove_const_t<const int*>} evaluates to
17295
17295
\tcode{const int*}.
17296
- \end{example }
17296
+ \end{tailexample }
17297
17297
\\ \rowsep
17298
17298
17299
17299
\indexlibraryglobal{remove_volatile}%
@@ -17302,23 +17302,23 @@
17302
17302
The member typedef \tcode{type} names
17303
17303
the same type as \tcode{T}
17304
17304
except that any top-level volatile-qualifier has been removed.
17305
- \begin{example }
17305
+ \begin{tailexample }
17306
17306
\tcode{remove_volatile_t<const volatile int>}
17307
17307
evaluates to \tcode{const int},
17308
17308
whereas \tcode{remove_volatile_t<volatile int*>} evaluates to \tcode{volatile int*}.
17309
- \end{example }
17309
+ \end{tailexample }
17310
17310
\\ \rowsep
17311
17311
17312
17312
\indexlibraryglobal{remove_cv}%
17313
17313
\tcode{template<class T>\br
17314
17314
struct remove_cv;} &
17315
17315
The member typedef \tcode{type} shall be the same as \tcode{T}
17316
17316
except that any top-level cv-qualifier has been removed.
17317
- \begin{example }
17317
+ \begin{tailexample }
17318
17318
\tcode{remove_cv_t<const volatile int>}
17319
17319
evaluates to \tcode{int}, whereas \tcode{remove_cv_t<const volatile int*>}
17320
17320
evaluates to \tcode{const volatile int*}.
17321
- \end{example }
17321
+ \end{tailexample }
17322
17322
\\ \rowsep
17323
17323
17324
17324
\indexlibraryglobal{add_const}%
17369
17369
If \tcode{T} names a referenceable type\iref{defns.referenceable} then
17370
17370
the member typedef \tcode{type} names \tcode{T\&};
17371
17371
otherwise, \tcode{type} names \tcode{T}.
17372
- \begin{note }
17372
+ \begin{tailnote }
17373
17373
This rule reflects the semantics of reference collapsing\iref{dcl.ref}.
17374
- \end{note }
17374
+ \end{tailnote }
17375
17375
\\ \rowsep
17376
17376
17377
17377
\indexlibraryglobal{add_rvalue_reference}%
@@ -17380,11 +17380,11 @@
17380
17380
If \tcode{T} names a referenceable type then
17381
17381
the member typedef \tcode{type} names \tcode{T\&\&};
17382
17382
otherwise, \tcode{type} names \tcode{T}.
17383
- \begin{note }
17383
+ \begin{tailnote }
17384
17384
This rule reflects the semantics of reference collapsing\iref{dcl.ref}.
17385
17385
For example, when a type \tcode{T} names a type \tcode{T1\&}, the type
17386
17386
\tcode{add_rvalue_reference_t<T>} is not an rvalue reference.
17387
- \end{note }
17387
+ \end{tailnote }
17388
17388
\\
17389
17389
\end{libreqtab2a}
17390
17390
@@ -17572,13 +17572,13 @@
17572
17572
\tcode{remove_extent_t<U>*}. If \tcode{is_function_v<U>} is \tcode{true},
17573
17573
the member typedef \tcode{type} equals \tcode{add_pointer_t<U>}. Otherwise
17574
17574
the member typedef \tcode{type} equals \tcode{remove_cv_t<U>}.
17575
- \begin{note }
17575
+ \begin{tailnote }
17576
17576
This behavior is similar to the lvalue-to-rvalue\iref{conv.lval},
17577
17577
array-to-pointer\iref{conv.array}, and function-to-pointer\iref{conv.func}
17578
17578
conversions applied when an lvalue is used as an rvalue, but also
17579
17579
strips cv-qualifiers from class types in order to more closely model by-value
17580
17580
argument passing.
17581
- \end{note }
17581
+ \end{tailnote }
17582
17582
\\ \rowsep
17583
17583
17584
17584
\indexlibraryglobal{enable_if}%
0 commit comments