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 2989
2989
This information is given for the convenience of users of this document and
2990
2990
does not constitute an endorsement by ISO or IEC of this product.
2991
2991
\end {footnote }
2992
+ \indextext {UTF-8}%
2992
2993
UTF-8 encoding form
2993
2994
and is composed of a contiguous sequence of
2994
2995
bits,
Original file line number Diff line number Diff line change 177
177
Required for new features.
178
178
\begin {itemize }
179
179
\item
180
+ \indextext {UTF-8}%
180
181
The \keyword {char8_t} keyword is added to differentiate
181
182
the types of ordinary and UTF-8 literals\iref {lex.string }.
182
183
\item
225
226
\end {codeblock }
226
227
227
228
\diffref {lex.literal }
229
+ \indextext {UTF-8}%
228
230
\change
229
231
Type of UTF-8 string and character literals.
230
232
\rationale
681
683
\end {codeblock }
682
684
683
685
\diffref {ostream.inserters.character }
686
+ \indextext {UTF-8}%
684
687
\change
685
688
Overload resolution for ostream inserters used with UTF-8 literals.
686
689
\rationale
1961
1964
The type of a \grammarterm {string-literal} is changed
1962
1965
from `` array of \tcode {char}''
1963
1966
to `` array of \tcode {const char}'' .
1967
+ \indextext {UTF-8}%
1964
1968
The type of a UTF-8 string literal is changed
1965
1969
from `` array of \tcode {char}''
1966
1970
to `` array of \tcode {const char8_t}'' .
1971
+ \indextext {UTF-16}%
1967
1972
The type of a UTF-16 string literal is changed
1968
1973
from `` array of \textit {some-integer-type }''
1969
1974
to `` array of \tcode {const char16_t}'' .
1975
+ \indextext {UTF-32}%
1970
1976
The type of a UTF-32 string literal is changed
1971
1977
from `` array of \textit {some-integer-type }''
1972
1978
to `` array of \tcode {const char32_t}'' .
Original file line number Diff line number Diff line change 5352
5352
\indextext {initialization!character array}
5353
5353
5354
5354
\pnum
5355
+ \indextext {UTF-8}%
5356
+ \indextext {UTF-16}%
5357
+ \indextext {UTF-32}%
5355
5358
An array of ordinary character type\iref {basic.fundamental },
5356
5359
\keyword {char8_t} array,
5357
5360
\keyword {char16_t} array,
Original file line number Diff line number Diff line change 1961
1961
\end {itemize }
1962
1962
1963
1963
\pnum
1964
+ \indextext {UTF-8}%
1965
+ \indextext {UCS-2}%
1966
+ \indextext {UTF-32}%
1964
1967
For the facet \tcode {codecvt_utf8}\indexlibraryglobal {codecvt_utf8}:
1965
1968
\begin {itemize }
1966
1969
\item
1974
1977
\end {itemize }
1975
1978
1976
1979
\pnum
1980
+ \indextext {UTF-16}%
1981
+ \indextext {UCS-2}%
1982
+ \indextext {UTF-32}%
1977
1983
For the facet \tcode {codecvt_utf16}\indexlibraryglobal {codecvt_utf16}:
1978
1984
\begin {itemize }
1979
1985
\item
1989
1995
\end {itemize }
1990
1996
1991
1997
\pnum
1998
+ \indextext {UTF-8}%
1999
+ \indextext {UTF-16}%
1992
2000
For the facet \tcode {codecvt_utf8_utf16}\indexlibraryglobal {codecvt_utf8_utf16}:
1993
2001
\begin {itemize }
1994
2002
\item
2456
2464
\pnum
2457
2465
The following class template specializations are required
2458
2466
in addition to those specified in~\ref {locale.codecvt }.
2467
+ \indextext {UTF-8}%
2468
+ \indextext {UTF-16}%
2459
2469
The specialization \tcode {codecvt<char16_t, char, mbstate_t>}
2460
2470
converts between the UTF-16 and UTF-8 encoding forms, and
2471
+ \indextext {UTF-32}%
2461
2472
the specialization \tcode {codecvt<char32_t, char, mbstate_t>}
2462
2473
converts between the UTF-32 and UTF-8 encoding forms.
2463
2474
Original file line number Diff line number Diff line change @@ -13228,11 +13228,17 @@
13228
13228
so no conversion from \keyword {wchar_t} value type arguments or to \tcode {wchar_t}
13229
13229
value type return values is performed.
13230
13230
\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
13232
13234
is 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
13234
13238
is 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
13236
13242
is unspecified.
13237
13243
\end {itemize }
13238
13244
Original file line number Diff line number Diff line change 364
364
shall be one greater than the value of the previous.
365
365
The ordinary and wide literal encodings are otherwise
366
366
\impldef {ordinary and wide literal encodings}.
367
+ \indextext {UTF-8}%
368
+ \indextext {UTF-16}%
369
+ \indextext {UTF-32}%
367
370
For a UTF-8, UTF-16, or UTF-32 literal,
368
371
the UCS scalar value
369
372
corresponding to each character of the translation character set
Original file line number Diff line number Diff line change 1650
1650
convert the implementation-defined native character set.
1651
1651
\tcode {codecvt<char, char, mbstate_t>} implements a degenerate conversion;
1652
1652
it does not convert at all.
1653
+ \indextext {UTF-8}%
1654
+ \indextext {UTF-16}%
1655
+ \indextext {UTF-32}%
1653
1656
The specialization \tcode {codecvt<char16_t, char8_t, mbstate_t>}
1654
1657
converts between the UTF-16 and UTF-8 encoding forms, and
1655
1658
the specialization \tcode {codecvt} \tcode {<char32_t, char8_t, mbstate_t>}
Original file line number Diff line number Diff line change 363
363
the built-in operators \tcode {=}, \tcode {==}, and \tcode {<} respectively.
364
364
365
365
\pnum
366
+ \indextext {UTF-8}%
366
367
The member \tcode {eof()} returns an
367
368
\impldef {return value of \tcode {char_traits<char8_t>::eof}} constant
368
369
that cannot appear as a valid UTF-8 code unit.
5763
5764
the next multibyte character (including any shift sequences).
5764
5765
If the function determines
5765
5766
that the next multibyte character is complete and valid,
5767
+ \indextext {UTF-8}%
5766
5768
it determines the values of the corresponding UTF-8 code units and then,
5767
5769
if \tcode {pc8} is not a null pointer,
5768
5770
stores the value of the first (or only) such code unit
5810
5812
If \tcode {s} is a null pointer, equivalent to
5811
5813
\tcode {c8rtomb(buf, u8'$ \backslash $ 0', ps)}
5812
5814
where \tcode {buf} is an internal buffer.
5815
+ \indextext {UTF-8}%
5813
5816
Otherwise, if \tcode {c8} completes a sequence of valid UTF-8 code units,
5814
5817
determines the number of bytes needed
5815
5818
to represent the multibyte character (including any shift sequences),
You can’t perform that action at this time.
0 commit comments