Date: Sat, 6 May 2023 13:41:44 -0500
On Sat, May 6, 2023 at 7:15 AM Daniel Krügler <daniel.kruegler_at_[hidden]> wrote:
>
> Am Fr., 5. Mai 2023 um 05:37 Uhr schrieb Zach Laine via SG16
> <sg16_at_[hidden]>:
> >
> > On Thu, May 4, 2023 at 11:36 AM Zach Laine <whatwasthataddress_at_[hidden]> wrote:
> > >
> > > On Thu, May 4, 2023 at 1:20 AM Jens Maurer <jens.maurer_at_[hidden]> wrote:
> > > >
> > > >
> > > > On 04/05/2023 03.58, Zach Laine via SG16 wrote:
> > > > >> I don't think the operator<< above works as a general-purpose method regardless. What does it do when CharT is wchar_t?
> > > > >
> > > > > It transcodes to UTF-16, of course.
> > > >
> > > > I hope not. On my box, wchar_t is not UTF-16, it's UTF-32.
> > >
> > > Right. I should have said, "it transcodes to UTF-N, of course, where N
> > > is the number of bits_of<wchar_t>(), of course". On all the big 3,
> > > that means UTF-16 or UTF-32.
> >
> >
> > Ok, new revision is available: https://isocpp.org/files/papers/D2728R2.html
> >
> > I still have not done the change to the concepts, and introduced the
> > associated adaptor thingy. This breaks literally all of my Boost.Text
> > test code, so it may take a while. I will do it, but might not finish
> > by Wednesday.
>
> I notice some exception-specification issues:
>
> - Section 5.3: std::null_sentinel_t::base() should be noexcept
> - Section 5.4: Basically all free is_XX and XX_code_units functions in
> std::uc should be noexcept
> - Section 5.5: use_replacement_character::operator() should be noexcept
>
> Other issues:
>
> - Section 5.5: The typedef base-type of utf_32_to_8_iterator seems to
> be defined inconsistently to the actual base type of that class
> template.
> - Section 5.6.1: Refers to some spurious stl_interfaces namespace
Thanks for pointing these out! I've fixed these locally.
Zach
>
> Am Fr., 5. Mai 2023 um 05:37 Uhr schrieb Zach Laine via SG16
> <sg16_at_[hidden]>:
> >
> > On Thu, May 4, 2023 at 11:36 AM Zach Laine <whatwasthataddress_at_[hidden]> wrote:
> > >
> > > On Thu, May 4, 2023 at 1:20 AM Jens Maurer <jens.maurer_at_[hidden]> wrote:
> > > >
> > > >
> > > > On 04/05/2023 03.58, Zach Laine via SG16 wrote:
> > > > >> I don't think the operator<< above works as a general-purpose method regardless. What does it do when CharT is wchar_t?
> > > > >
> > > > > It transcodes to UTF-16, of course.
> > > >
> > > > I hope not. On my box, wchar_t is not UTF-16, it's UTF-32.
> > >
> > > Right. I should have said, "it transcodes to UTF-N, of course, where N
> > > is the number of bits_of<wchar_t>(), of course". On all the big 3,
> > > that means UTF-16 or UTF-32.
> >
> >
> > Ok, new revision is available: https://isocpp.org/files/papers/D2728R2.html
> >
> > I still have not done the change to the concepts, and introduced the
> > associated adaptor thingy. This breaks literally all of my Boost.Text
> > test code, so it may take a while. I will do it, but might not finish
> > by Wednesday.
>
> I notice some exception-specification issues:
>
> - Section 5.3: std::null_sentinel_t::base() should be noexcept
> - Section 5.4: Basically all free is_XX and XX_code_units functions in
> std::uc should be noexcept
> - Section 5.5: use_replacement_character::operator() should be noexcept
>
> Other issues:
>
> - Section 5.5: The typedef base-type of utf_32_to_8_iterator seems to
> be defined inconsistently to the actual base type of that class
> template.
> - Section 5.6.1: Refers to some spurious stl_interfaces namespace
Thanks for pointing these out! I've fixed these locally.
Zach
Received on 2023-05-06 18:41:57