From 5438155587d7d49c2fb4e7e4b577e1e31bb99ff3 Mon Sep 17 00:00:00 2001 From: "A. Jiang" Date: Thu, 24 Apr 2025 11:20:40 +0800 Subject: [PATCH] [tab:meta.trans.cv] Simplify wording for `add_{const,volatile,cv}` Also changes the style to west const. Wordings about reference, function, or top-level _cv_-qualified types are moved to notes as they are redundant at least since C++11. --- source/meta.tex | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/source/meta.tex b/source/meta.tex index 95d2635ed3..12a1e38fe5 100644 --- a/source/meta.tex +++ b/source/meta.tex @@ -1712,22 +1712,32 @@ \indexlibraryglobal{add_const}% \tcode{template\br struct add_const;} & - If \tcode{T} is a reference, function, or top-level const-qualified - type, then \tcode{type} denotes \tcode{T}, otherwise - \tcode{T const}. \\ \rowsep + The member typedef \tcode{type} denotes \tcode{const T}. +\begin{tailnote} +\keyword{const} has no effect when \tcode{T} is a reference, function, or +top-level const-qualified type. +\end{tailnote} +\\ \rowsep \indexlibraryglobal{add_volatile}% \tcode{template\br struct add_volatile;} & - If \tcode{T} is a reference, function, or top-level volatile-qualified - type, then \tcode{type} denotes \tcode{T}, otherwise - \tcode{T volatile}. \\ \rowsep + The member typedef \tcode{type} denotes \tcode{volatile T}. +\begin{tailnote} +\keyword{volatile} has no effect when \tcode{T} is a reference, function, or +top-level volatile-qualified type. +\end{tailnote} +\\ \rowsep \indexlibraryglobal{add_cv}% \tcode{template\br struct add_cv;} & - The member typedef \tcode{type} denotes - \tcode{add_const_t>}. \\ + The member typedef \tcode{type} denotes \tcode{const volatile T}. +\begin{tailnote} +\keyword{const} or \keyword{volatile} has no effect when \tcode{T} is a +reference, function, or top-level const- or volatile-qualified type, respectively. +\end{tailnote} +\\ \end{libreqtab2a} \rSec3[meta.trans.ref]{Reference modifications}