File tree Expand file tree Collapse file tree 8 files changed +39
-3
lines changed
Expand file tree Collapse file tree 8 files changed +39
-3
lines changed Original file line number Diff line number Diff line change 29892989This information is given for the convenience of users of this document and
29902990does not constitute an endorsement by ISO or IEC of this product.
29912991\end {footnote }
2992+ \indextext {UTF-8}%
29922993UTF-8 encoding form
29932994and is composed of a contiguous sequence of
29942995bits,
Original file line number Diff line number Diff line change 177177Required for new features.
178178\begin {itemize }
179179\item
180+ \indextext {UTF-8}%
180181The \keyword {char8_t} keyword is added to differentiate
181182the types of ordinary and UTF-8 literals\iref {lex.string }.
182183\item
225226\end {codeblock }
226227
227228\diffref {lex.literal }
229+ \indextext {UTF-8}%
228230\change
229231Type of UTF-8 string and character literals.
230232\rationale
681683\end {codeblock }
682684
683685\diffref {ostream.inserters.character }
686+ \indextext {UTF-8}%
684687\change
685688Overload resolution for ostream inserters used with UTF-8 literals.
686689\rationale
19611964The type of a \grammarterm {string-literal} is changed
19621965from `` array of \tcode {char}''
19631966to `` array of \tcode {const char}'' .
1967+ \indextext {UTF-8}%
19641968The type of a UTF-8 string literal is changed
19651969from `` array of \tcode {char}''
19661970to `` array of \tcode {const char8_t}'' .
1971+ \indextext {UTF-16}%
19671972The type of a UTF-16 string literal is changed
19681973from `` array of \textit {some-integer-type }''
19691974to `` array of \tcode {const char16_t}'' .
1975+ \indextext {UTF-32}%
19701976The type of a UTF-32 string literal is changed
19711977from `` array of \textit {some-integer-type }''
19721978to `` array of \tcode {const char32_t}'' .
Original file line number Diff line number Diff line change 53525352\indextext {initialization!character array}
53535353
53545354\pnum
5355+ \indextext {UTF-8}%
5356+ \indextext {UTF-16}%
5357+ \indextext {UTF-32}%
53555358An array of ordinary character type\iref {basic.fundamental },
53565359\keyword {char8_t} array,
53575360\keyword {char16_t} array,
Original file line number Diff line number Diff line change 19611961\end {itemize }
19621962
19631963\pnum
1964+ \indextext {UTF-8}%
1965+ \indextext {UCS-2}%
1966+ \indextext {UTF-32}%
19641967For the facet \tcode {codecvt_utf8}\indexlibraryglobal {codecvt_utf8}:
19651968\begin {itemize }
19661969\item
19741977\end {itemize }
19751978
19761979\pnum
1980+ \indextext {UTF-16}%
1981+ \indextext {UCS-2}%
1982+ \indextext {UTF-32}%
19771983For the facet \tcode {codecvt_utf16}\indexlibraryglobal {codecvt_utf16}:
19781984\begin {itemize }
19791985\item
19891995\end {itemize }
19901996
19911997\pnum
1998+ \indextext {UTF-8}%
1999+ \indextext {UTF-16}%
19922000For the facet \tcode {codecvt_utf8_utf16}\indexlibraryglobal {codecvt_utf8_utf16}:
19932001\begin {itemize }
19942002\item
24562464\pnum
24572465The following class template specializations are required
24582466in addition to those specified in~\ref {locale.codecvt }.
2467+ \indextext {UTF-8}%
2468+ \indextext {UTF-16}%
24592469The specialization \tcode {codecvt<char16_t, char, mbstate_t>}
24602470converts between the UTF-16 and UTF-8 encoding forms, and
2471+ \indextext {UTF-32}%
24612472the specialization \tcode {codecvt<char32_t, char, mbstate_t>}
24622473converts between the UTF-32 and UTF-8 encoding forms.
24632474
Original file line number Diff line number Diff line change @@ -13228,11 +13228,17 @@
1322813228so no conversion from \keyword {wchar_t} value type arguments or to \tcode {wchar_t}
1322913229value type return values is performed.
1323013230\end {note }
13231- \item \keyword {char8_t}: The encoding is UTF-8. The method of conversion
13231+ \item
13232+ \indextext {UTF-8}%
13233+ \keyword {char8_t}: The encoding is UTF-8. The method of conversion
1323213234is unspecified.
13233- \item \keyword {char16_t}: The encoding is UTF-16. The method of conversion
13235+ \item
13236+ \indextext {UTF-16}%
13237+ \keyword {char16_t}: The encoding is UTF-16. The method of conversion
1323413238is unspecified.
13235- \item \keyword {char32_t}: The encoding is UTF-32. The method of conversion
13239+ \item
13240+ \indextext {UTF-32}%
13241+ \keyword {char32_t}: The encoding is UTF-32. The method of conversion
1323613242is unspecified.
1323713243\end {itemize }
1323813244
Original file line number Diff line number Diff line change 364364shall be one greater than the value of the previous.
365365The ordinary and wide literal encodings are otherwise
366366\impldef {ordinary and wide literal encodings}.
367+ \indextext {UTF-8}%
368+ \indextext {UTF-16}%
369+ \indextext {UTF-32}%
367370For a UTF-8, UTF-16, or UTF-32 literal,
368371the UCS scalar value
369372corresponding to each character of the translation character set
Original file line number Diff line number Diff line change 16501650convert the implementation-defined native character set.
16511651\tcode {codecvt<char, char, mbstate_t>} implements a degenerate conversion;
16521652it does not convert at all.
1653+ \indextext {UTF-8}%
1654+ \indextext {UTF-16}%
1655+ \indextext {UTF-32}%
16531656The specialization \tcode {codecvt<char16_t, char8_t, mbstate_t>}
16541657converts between the UTF-16 and UTF-8 encoding forms, and
16551658the specialization \tcode {codecvt} \tcode {<char32_t, char8_t, mbstate_t>}
Original file line number Diff line number Diff line change 363363the built-in operators \tcode {=}, \tcode {==}, and \tcode {<} respectively.
364364
365365\pnum
366+ \indextext {UTF-8}%
366367The member \tcode {eof()} returns an
367368\impldef {return value of \tcode {char_traits<char8_t>::eof}} constant
368369that cannot appear as a valid UTF-8 code unit.
57635764the next multibyte character (including any shift sequences).
57645765If the function determines
57655766that the next multibyte character is complete and valid,
5767+ \indextext {UTF-8}%
57665768it determines the values of the corresponding UTF-8 code units and then,
57675769if \tcode {pc8} is not a null pointer,
57685770stores the value of the first (or only) such code unit
58105812If \tcode {s} is a null pointer, equivalent to
58115813\tcode {c8rtomb(buf, u8'$ \backslash $ 0', ps)}
58125814where \tcode {buf} is an internal buffer.
5815+ \indextext {UTF-8}%
58135816Otherwise, if \tcode {c8} completes a sequence of valid UTF-8 code units,
58145817determines the number of bytes needed
58155818to represent the multibyte character (including any shift sequences),
You can’t perform that action at this time.
0 commit comments