From 9c309c2bc2d4ea9e67dd043f8c01c64761d300e5 Mon Sep 17 00:00:00 2001 From: Corentin Jabot Date: Wed, 9 Oct 2024 17:31:47 +0200 Subject: [PATCH] pre-poland --- src/D2019.tex | 10 + src/D2841.tex | 201 +-- src/D2846.tex | 184 ++- src/wg21.bib | 4307 ++++++++++++++++++++++++++++++++++++++++++++++++- 4 files changed, 4578 insertions(+), 124 deletions(-) diff --git a/src/D2019.tex b/src/D2019.tex index 0fa8799..7229548 100644 --- a/src/D2019.tex +++ b/src/D2019.tex @@ -39,6 +39,16 @@ \subsection{R7} \begin{itemize} \item Improve wording following St Louis guidance. \item Remove \tcode{char8_t} support - pending SG16 discussion. + +\tcode{char8_t} support was present based on the assumption that, given that +a thread name is textual data, and because it matches the capability of underlying platforms, +we should support Unicode. And there is no point in supporting \tcode{wchar_t/char16_t/char32_t} as +we do a copy in all cases and we should move away from having every standard interface accepting text +being quituplicated. +However this was either not presented, or at least not presented enough. +We therefore removed the support in the interest of incremental progress and will bring it back in the separate paper. +(We are keeping an interface taking \tcode{basic_string_view} rather than \tcode{string_view} in order to facilitate such future evolution in a non abi-breaking manner.) + \end{itemize} \subsection{R6} diff --git a/src/D2841.tex b/src/D2841.tex index 0c5327f..993db69 100644 --- a/src/D2841.tex +++ b/src/D2841.tex @@ -5,8 +5,8 @@ \documentclass{wg21} \title{Concept and variable-template template-parameters} -\docnumber{D2841R4} -\audience{EWG} +\docnumber{D2841R5} +\audience{CWG} \author{Corentin Jabot}{corentin.jabot@gmail.com} \authortwo{Gašper Ažman}{gasper.azman@gmail.com} \authorthree{James Touton}{bekenn@gmail.com} @@ -48,6 +48,12 @@ \section{Abstract} \section{Revisions} +\subsection{R5} + +\begin{itemize} +\item Wording fixes. +\end{itemize} + \subsection{R4} \begin{itemize} @@ -61,7 +67,8 @@ \subsection{R4} \item Use the prose terminology and typography in more places \item Improve the sections introducing template parameters and pack thereof \item Change the grammar of template arguments not to use id-expression -\item Address typos and other CWG feedback. +\item Introduce "concept dependent constraints" +\item Address CWG feedback. \end{itemize} \subsection{R3} @@ -2083,15 +2090,15 @@ \subsection{\textcolor{noteclr}{3. Wording for variable-template and concept tem \rSec3[temp.constr.concept]{Concept-dependent constraint} -A \defn{concept-dependent constraint} is formed from a concept-id \tcode{C} +A \defn{concept-dependent constraint} is formed from a concept-id \tcode{C} where \tcode{C} names a concept template parameter. -Two concept-dependent constraints are equivalent if their concept-id are equivalent. +Two concept-dependent constraints are equivalent if their concept-ids are equivalent. To determine if a concept-dependent constraint is satisfied, template arguments are first substituted into its -\tcode{concept-id} \tcode{C}. If substitution results in an invalid type or expression in the immediate context of the constraint ([temp.deduct.general]), the constraint is not satisfied. -Otherwise, let \tcode{E} be the normal form of \tcode{C}. +concept-id \tcode{C}. If substitution results in an invalid concept-id in the immediate context of the constraint ([temp.deduct.general]), the constraint is not satisfied. +Otherwise, let \tcode{E} be the normal form of \tcode{C} after substitution. The constraint is satisfied if \tcode{E} is satisfied. @@ -2131,11 +2138,11 @@ \subsection{\textcolor{noteclr}{3. Wording for variable-template and concept tem \begin{addedblock} \item When \tcode{C} names a concept template parameter, the normal form of a concept-id \tcode{C} is -a concept-dependent constraint whose \grammarterm{concept-id} is \tcode{C}. +a concept-dependent constraint whose concept-id is \tcode{C}. \end{addedblock} \item -\added{Otherwise}, The normal form of a concept-id \tcode{C} +\added{Otherwise}, \changed{The}{the} normal form of a concept-id \tcode{C} is the normal form of the \grammarterm{constraint-expression} of \tcode{C}, after substituting \tcode{A$_1$, A$_2$, ..., A$_n$} for \tcode{C}{'s} respective template parameters in the @@ -2244,10 +2251,10 @@ \subsection{\textcolor{noteclr}{3. Wording for variable-template and concept tem template concept C = true; -template