C++ Logo

sg16

Advanced search

Re: [SG16-Unicode] String views with strong code unit types

From: JeanHeyd Meneide <phdofthehouse_at_[hidden]>
Date: Tue, 4 Jun 2019 03:43:39 -0400
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

Received on 2019-06-04 09:43:53