Size: a a a

2020 August 13

AF

Aidar Fattakhov in supapro.cxx
жди базовую интроспеккцию
источник

ПК

Побитый Кирпич... in supapro.cxx
Для своих енумов можно уже бахать рефлексию через макросы
источник

ПК

Побитый Кирпич... in supapro.cxx
В общем случае решения нет
источник

AP

Alexander Potapov in supapro.cxx
Vladimir Suisei
Хорошая ли идея сделать констекспр шаблонную функцию которая будет принимать в себя инт, а внутри возвращать текстовое представление енума?
Я верно понимаю, что в итоге при компиляции в местах, где вызывается констэкспр функция, она будет посчитана заранее и подставлен результат вычисления в место вызова?
Т.е. по сути как макрос
Делаешь switch case на все поля енума и дефолт если что-то пошло не так. Рефлексию в плюсах пока нет, чтобы что-то лучше придумать
источник

AP

Alexander Potapov in supapro.cxx
Если IDE умное, напишет warning, если не все случаи обработаны
источник

AF

Aidar Fattakhov in supapro.cxx
Alexander Potapov
Делаешь switch case на все поля енума и дефолт если что-то пошло не так. Рефлексию в плюсах пока нет, чтобы что-то лучше придумать
ну рефлексия через макросы это оно же только сбоку
источник

AP

Alexander Potapov in supapro.cxx
Ну два раза описывать енум или описывать его странным образом не оч круто
источник

ПК

Побитый Кирпич... in supapro.cxx
Alexander Potapov
Ну два раза описывать енум или описывать его странным образом не оч круто
а какая альтернатива?
источник

AF

Aidar Fattakhov in supapro.cxx
там одно и то же описание
источник

AP

Alexander Potapov in supapro.cxx
Побитый Кирпич
а какая альтернатива?
Ждать рефлексию
источник

ПК

Побитый Кирпич... in supapro.cxx
Alexander Potapov
Ждать рефлексию
это не альтернатива
источник

ПК

Побитый Кирпич... in supapro.cxx
она хз когда будет и будет ли
источник

AP

Alexander Potapov in supapro.cxx
Просто все эти решения г.
источник

AP

Alexander Potapov in supapro.cxx
Побитый Кирпич
она хз когда будет и будет ли
Будет точно. Когда? Не знаю, в лучшем случае в 23
источник

VS

Vladimir Suisei in supapro.cxx
Я короче вот так сделал
https://ideone.com/6rKE3R
источник

VS

Vladimir Suisei in supapro.cxx
Но это не работает с enum class, надо кастить, а это уб
источник

LA

Liber Azerate in supapro.cxx
Vladimir Suisei
Я короче вот так сделал
https://ideone.com/6rKE3R
Это так вообще не работает. Просто ифами нельзя
источник

AP

Alexander Potapov in supapro.cxx
Обычно вносят обычный enum в неймспейс если нужно его не экспозить наружу и кастить в инт / из инта
источник

VS

Vladimir Suisei in supapro.cxx
Liber Azerate
Это так вообще не работает. Просто ифами нельзя
Что не так?
источник

LA

Liber Azerate in supapro.cxx
Vladimir Suisei
Что не так?
Я, конечно, не смотрел, но в общем случае это делается через if constexpr, ибо иначе другая ветка не отбрасывается и если там что-то не то... Будет ошибка. Ладно-ладно, это о другом кейсе
источник