Skip to content

Commit 28e1f33

Browse files
burblebeetkoeppe
authored andcommitted
LWG3767 codecvt<charN_t, char8_t, mbstate_t> incorrectly added to locale
1 parent 33c86c1 commit 28e1f33

2 files changed

Lines changed: 10 additions & 15 deletions

File tree

source/future.tex

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2410,6 +2410,8 @@
24102410
\begin{codeblock}
24112411
codecvt<char16_t, char, mbstate_t>
24122412
codecvt<char32_t, char, mbstate_t>
2413+
codecvt<char16_t, char8_t, mbstate_t>
2414+
codecvt<char32_t, char8_t, mbstate_t>
24132415
\end{codeblock}
24142416

24152417
\pnum
@@ -2420,18 +2422,22 @@
24202422
\begin{codeblock}
24212423
codecvt_byname<char16_t, char, mbstate_t>
24222424
codecvt_byname<char32_t, char, mbstate_t>
2425+
codecvt_byname<char16_t, char8_t, mbstate_t>
2426+
codecvt_byname<char32_t, char8_t, mbstate_t>
24232427
\end{codeblock}
24242428

24252429
\pnum
24262430
The following class template specializations are required
24272431
in addition to those specified in~\ref{locale.codecvt}.
24282432
\indextext{UTF-8}%
24292433
\indextext{UTF-16}%
2430-
The specialization \tcode{codecvt<char16_t, char, mbstate_t>}
2431-
converts between the UTF-16 and UTF-8 encoding forms, and
2434+
The specializations \tcode{codecvt<char16_t, char, mbstate_t>} and
2435+
\tcode{codecvt<char16_t, char8_t, mbstate_t>}
2436+
convert between the UTF-16 and UTF-8 encoding forms, and
24322437
\indextext{UTF-32}%
2433-
the specialization \tcode{codecvt<char32_t, char, mbstate_t>}
2434-
converts between the UTF-32 and UTF-8 encoding forms.
2438+
the specializations \tcode{codecvt<char32_t, char, mbstate_t>} and
2439+
\tcode{codecvt<char32_t, char8_t, mbstate_t>}
2440+
convert between the UTF-32 and UTF-8 encoding forms.
24352441

24362442
\rSec1[depr.fs.path.factory]{Deprecated filesystem path factory functions}
24372443

source/locales.tex

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -320,8 +320,6 @@
320320
collate & \tcode{collate<char>}, \tcode{collate<wchar_t>} \\ \rowsep
321321
ctype & \tcode{ctype<char>}, \tcode{ctype<wchar_t>} \\
322322
& \tcode{codecvt<char, char, mbstate_t>} \\
323-
& \tcode{codecvt<char16_t, char8_t, mbstate_t>} \\
324-
& \tcode{codecvt<char32_t, char8_t, mbstate_t>} \\
325323
& \tcode{codecvt<wchar_t, char, mbstate_t>} \\ \rowsep
326324
monetary & \tcode{moneypunct<char>}, \tcode{moneypunct<wchar_t>} \\
327325
& \tcode{moneypunct<char, true>}, \tcode{moneypunct<wchar_t, true>} \\
@@ -356,8 +354,6 @@
356354
collate & \tcode{collate_byname<char>}, \tcode{collate_byname<wchar_t>} \\ \rowsep
357355
ctype & \tcode{ctype_byname<char>}, \tcode{ctype_byname<wchar_t>} \\
358356
& \tcode{codecvt_byname<char, char, mbstate_t>} \\
359-
& \tcode{codecvt_byname<char16_t, char8_t, mbstate_t>} \\
360-
& \tcode{codecvt_byname<char32_t, char8_t, mbstate_t>} \\
361357
& \tcode{codecvt_byname<wchar_t, char, mbstate_t>} \\ \rowsep
362358
monetary & \tcode{moneypunct_byname<char, International>} \\
363359
& \tcode{moneypunct_byname<wchar_t, International>} \\
@@ -1684,13 +1680,6 @@
16841680
convert the implementation-defined native character set.
16851681
\tcode{codecvt<char, char, mbstate_t>} implements a degenerate conversion;
16861682
it does not convert at all.
1687-
\indextext{UTF-8}%
1688-
\indextext{UTF-16}%
1689-
\indextext{UTF-32}%
1690-
The specialization \tcode{codecvt<char16_t, char8_t, mbstate_t>}
1691-
converts between the UTF-16 and UTF-8 encoding forms, and
1692-
the specialization \tcode{codecvt<char32_t, char8_t, mbstate_t>}
1693-
converts between the UTF-32 and UTF-8 encoding forms.
16941683
\tcode{codecvt<wchar_t, char, mbstate_t>}
16951684
converts between the native character sets for ordinary and wide characters.
16961685
Specializations on \tcode{mbstate_t}

0 commit comments

Comments
 (0)