Skip to content

Commit d66f738

Browse files
committed
P2314R4 Character sets and encodings
1 parent 2360a59 commit d66f738

File tree

9 files changed

+285
-201
lines changed

9 files changed

+285
-201
lines changed

source/basic.tex

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2947,9 +2947,10 @@
29472947
\indextext{memory model|(}%
29482948
The fundamental storage unit in the \Cpp{} memory model is the
29492949
\defn{byte}.
2950-
A byte is at least large enough to contain any member of the basic
2951-
\indextext{character set!basic execution}%
2952-
execution character set\iref{lex.charset}
2950+
A byte is at least large enough to contain
2951+
the ordinary literal encoding of any element of the basic
2952+
\indextext{character set!basic literal}%
2953+
literal character set\iref{lex.charset}
29532954
and the eight-bit code units of the Unicode
29542955
\begin{footnote}
29552956
Unicode\textregistered\ is a registered trademark of Unicode, Inc.
@@ -4849,8 +4850,6 @@
48494850
Type \keyword{char} is a distinct type
48504851
that has an \impldef{underlying type of \tcode{char}} choice of
48514852
``\tcode{\keyword{signed} \keyword{char}}'' or ``\tcode{\keyword{unsigned} \keyword{char}}'' as its underlying type.
4852-
The values of type \keyword{char} can represent distinct codes
4853-
for all members of the implementation's basic character set.
48544853
The three types \keyword{char}, \tcode{\keyword{signed} \keyword{char}}, and \tcode{\keyword{unsigned} \keyword{char}}
48554854
are collectively called
48564855
\defnadjx{ordinary character}{types}{type}.
@@ -4911,10 +4910,10 @@
49114910

49124911
\pnum
49134912
\indextext{type!integral}%
4914-
Types
4915-
\keyword{bool},
4916-
\keyword{char}, \keyword{wchar_t},
4917-
\keyword{char8_t}, \keyword{char16_t}, \keyword{char32_t}, and
4913+
The types \keyword{char}, \keyword{wchar_t},
4914+
\keyword{char8_t}, \keyword{char16_t}, and \keyword{char32_t}
4915+
are collectively called \defnadjx{character}{types}{type}.
4916+
The character types, \keyword{bool},
49184917
the signed and unsigned integer types,
49194918
and cv-qualified versions\iref{basic.type.qualifier} thereof,
49204919
are collectively termed

source/compatibility.tex

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

792792
\diffref{lex.ppnumber}
793793
\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}

0 commit comments

Comments
 (0)