Здравствуйте, B0FEE664, Вы писали:
BFE>Меня наконец-то допустили до C++20 и вот...
BFE>думаю, что наконец-то смогу определять свои суффиксы ""_compile_time
.....
BFE>Правильно ли я понимаю, что для строкового литерала никакого встроенного типа введено не было и всегда надо добавлять свой класс (вроде DoubleString из примера выше)?
Ссылка на
голый массив буковок не является валидным параметром шаблона.
Поэтому и приходится изгаляться.
Я вот как раз щас говнокожу, хочу смешную статью на хабр написать.
Поэтому — пардоньте, что в дев-ветке, а не в майне. Under construction.
И вот как раз там нафигачил заготовку — компайлтаймовые строки.
https://github.com/nickolaym/nenormal/tree/dev/static_string/src
Ключевые особенности
— явный CTAD для того, чтобы параметр "размер" был без концевого нуля
— но концевой ноль в массив всё равно кладу, чтобы сишные строки получались
— для труЪ констекспра, зависящего от содержимого строки, приходится делать зависимые типы! хаскелл такое не умеет, а плюсы умеют!
Поэтому у меня два вида строковых литералов. Уот так уот.