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