Skip to content

Commit fd7b67f

Browse files
authored
Merge 2021-10 CWG Motion 10
P2314R4 Character sets and encodings
2 parents 7921088 + 4fe9634 commit fd7b67f

File tree

10 files changed

+290
-206
lines changed

10 files changed

+290
-206
lines changed

source/basic.tex

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2978,9 +2978,10 @@
29782978
\indextext{memory model|(}%
29792979
The fundamental storage unit in the \Cpp{} memory model is the
29802980
\defn{byte}.
2981-
A byte is at least large enough to contain any member of the basic
2982-
\indextext{character set!basic execution}%
2983-
execution character set\iref{lex.charset}
2981+
A byte is at least large enough to contain
2982+
the ordinary literal encoding of any element of the basic
2983+
\indextext{character set!basic literal}%
2984+
literal character set\iref{lex.charset}
29842985
and the eight-bit code units of the Unicode
29852986
\begin{footnote}
29862987
Unicode\textregistered\ is a registered trademark of Unicode, Inc.
@@ -4880,8 +4881,6 @@
48804881
Type \keyword{char} is a distinct type
48814882
that has an \impldef{underlying type of \tcode{char}} choice of
48824883
``\tcode{\keyword{signed} \keyword{char}}'' or ``\tcode{\keyword{unsigned} \keyword{char}}'' as its underlying type.
4883-
The values of type \keyword{char} can represent distinct codes
4884-
for all members of the implementation's basic character set.
48854884
The three types \keyword{char}, \tcode{\keyword{signed} \keyword{char}}, and \tcode{\keyword{unsigned} \keyword{char}}
48864885
are collectively called
48874886
\defnadjx{ordinary character}{types}{type}.
@@ -4942,10 +4941,10 @@
49424941

49434942
\pnum
49444943
\indextext{type!integral}%
4945-
Types
4946-
\keyword{bool},
4947-
\keyword{char}, \keyword{wchar_t},
4948-
\keyword{char8_t}, \keyword{char16_t}, \keyword{char32_t}, and
4944+
The types \keyword{char}, \keyword{wchar_t},
4945+
\keyword{char8_t}, \keyword{char16_t}, and \keyword{char32_t}
4946+
are collectively called \defnadjx{character}{types}{type}.
4947+
The character types, \keyword{bool},
49494948
the signed and unsigned integer types,
49504949
and cv-qualified versions\iref{basic.type.qualifier} thereof,
49514950
are collectively termed

source/compatibility.tex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -801,8 +801,8 @@
801801
semantics in this revision of \Cpp{}. Implementations may choose to
802802
translate trigraphs as specified in \CppXIV{} if they appear outside of a raw
803803
string literal, as part of the \impldef{mapping from physical source file characters
804-
to basic source character set} mapping from physical source file characters to
805-
the basic source character set.
804+
to translation character set} mapping from physical source file characters to
805+
the translation character set.
806806

807807
\diffref{lex.ppnumber}
808808
\change

source/expressions.tex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1181,10 +1181,10 @@
11811181
\pnum
11821182
\indextext{literal}%
11831183
\indextext{constant}%
1184-
A \grammarterm{literal} is a primary expression.
11851184
The type of a \grammarterm{literal}
11861185
is determined based on its form as specified in \ref{lex.literal}.
1187-
A \grammarterm{string-literal} is an lvalue,
1186+
A \grammarterm{string-literal} is an lvalue
1187+
designating a corresponding string literal object\iref{lex.string},
11881188
a \grammarterm{user-defined-literal}
11891189
has the same value category
11901190
as the corresponding operator call expression described in \ref{lex.ext},

source/intro.tex

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -420,13 +420,8 @@
420420

421421
\indexdefn{character!multibyte}%
422422
\definition{multibyte character}{defns.multibyte}
423-
sequence of one or more bytes representing a member of the extended
424-
character set of either the source or the execution environment
425-
426-
\begin{defnote}
427-
The extended character set is a superset of the basic character
428-
set\iref{lex.charset}.
429-
\end{defnote}
423+
sequence of one or more bytes representing
424+
the code unit sequence for an encoded character of the execution character set
430425

431426
\definition{NTCTS}{defns.ntcts}
432427
\defncontext{library}

source/iostreams.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13167,7 +13167,7 @@
1316713167
for pathnames\iref{fs.class.path}.
1316813168
The \defn{native encoding} for wide character strings is
1316913169
the implementation-defined execution
13170-
wide-character set encoding\iref{lex.charset}.
13170+
wide-character set encoding\iref{character.seq}.
1317113171

1317213172
\pnum
1317313173
For member function arguments that take character sequences representing

0 commit comments

Comments
 (0)