C++ Logo

SG16

Advanced search

Subject: Re: [SG16-Unicode] String views with strong code unit types
From: JeanHeyd Meneide (phdofthehouse_at_[hidden])
Date: 2019-06-04 02:43:39


On Tue, Jun 4, 2019 at 3:39 AM Lyberta <lyberta_at_[hidden]> wrote:

> I'm trying to replicate a "sv" UDL with strong code unit types.
>
> constexpr auto operator "" _cus(const char8_t* literal, std::size_t size)
>
> As view types require some outside storage, I'm will need to create an
> array of code units in static memory. I'm not sure how to do that. Also,
> the compiler says that "size" is not a constant expression. Any ideas?
>

The answer is "cheat and reinterpret cast", but you can't reinterpret cast
in "constexpr". So the real answer is: it's somewhat helpless. Whether we
like it or not, char, char8_t, char16_t, and char32_t are the strongest
string literal types we're ever going to have.

Sincerely,
ThePhD



SG16 list run by sg16-owner@lists.isocpp.org