@oficsu смотри, мне тут в голову пришла идея, что значения в enum уникальные. Если возможно сгенерить их в компайл тайме, то каждое значение будет уникальное констэкпрешон значение, и лямбды в шаблонах нинужны. Осталось придумать как (рекурсивные макросы?) Я где-то ошибся или не?
Насчёт макросов уже думал — кажется, нереально. Можно макросом создавать лямбду и деклтайпать её, но применимость очень ограниченная. Генерировать перечисления не представляю как, но генерировать числовые теги можно, другое дело, что я всё-равно в тупик зашёл — на любом этапе требуется хотя бы одна constexpr функция, которая автоматически всё ломает. Нужно как-то какой-то тип инстанцировать рекурсивно от самого себя