Здравствуйте, Hоmunculus, Вы писали: H>Здравствуйте, sergii.p, Вы писали: SP>>тогда забыть очень сложно. Не совсем понятно, почему вы сразу забанили этот вариант в первом сообщении. У вас нет возможности менять перечисления? H>Ну, грубо говоря, возможность есть, но код не мой, не хотел бы в него лезть
Здравствуйте, Hоmunculus, Вы писали:
H>Но пусть таких условий нет. Тот есть начинаться может не с нуля и последнего именованного нет. H>Как определить границы в этом случае?
А разве присваивание enum-у int-а не из числа перечисленных — это UB?
Re: Можно как-то автоматически найти границы енума?
Здравствуйте, Hоmunculus, Вы писали:
H>Ясно, что обычно начинается с нуля и есть именованный последний типа MY_ENUM_LAST. H>И можно в цикле от нуля до последнего пройтись по всем.
Если значения идут не по порядку, могут быть проблемы
H>Но пусть таких условий нет. Тот есть начинаться может не с нуля и последнего именованного нет. H>Как определить границы в этом случае?
Нет.
Я себе сделал генератор, энумы только через него делаю, он мету разную добавляет, в основном для (де)сериализации
Здравствуйте, Hоmunculus, Вы писали:
H>Ясно, что обычно начинается с нуля и есть именованный последний типа MY_ENUM_LAST. H>И можно в цикле от нуля до последнего пройтись по всем. H>Но пусть таких условий нет. Тот есть начинаться может не с нуля и последнего именованного нет. H>Как определить границы в этом случае?
Здравствуйте, Hоmunculus, Вы писали:
H>Лишние правки при расширении енума, которые стопроцентно забудутся
С чего бы это. Если у вас много длинных енумов их лучше генерировать скриптами из базы вместе со всей обвязкой.
И потом как часто вы вносите лишние правки в енумы по пьяни в безсознательном состоянии? И разве в таком случае вы не обновляете тесты?
Да и принцип KISS советует использовать максимально простое и явное решение. Или вы предпочитаете стоя и в гамаке?
Здравствуйте, Hоmunculus, Вы писали:
H>Лишние правки при расширении енума, которые стопроцентно забудутся
так magic_enum тоже надо настраивать. По умолчанию оно проверяет значения от -128 до 127. И тоже это забудется (даже хуже — мало кто помнит об этом ограничении). Так что золотой пули здесь всё равно нет. Если нужно только находить границы, я бы не тянул весь magic_enum. Там куча compiler specific штук, которые могут в любой момент перестать работать.
Re[4]: Можно как-то автоматически найти границы енума?
Здравствуйте, sergii.p, Вы писали:
SP>тогда забыть очень сложно. Не совсем понятно, почему вы сразу забанили этот вариант в первом сообщении. У вас нет возможности менять перечисления?
Ну, грубо говоря, возможность есть, но код не мой, не хотел бы в него лезть
Re[2]: Можно как-то автоматически найти границы енума?