Здравствуйте, B0FEE664, Вы писали:
BFE>BFE>UMBA_ENUM_CLASS_IMPLEMENT_UNDERLYING_TYPE_RELATION_OPERATORS(CEEE)
BFE>CEEE::zero < EEE::one;
BFE>
BFE>
Ну так у него это задано явно и намеренно. А в твоем подходе элементы разных перечислений сходу являются величинами совместимых типов, над которыми можно выполнять любые арифметические операции. Теряется типовая надежность.
BFE>PS А вы в курсе про потенциальное теоретическое UB при выходе за пределы диапазона значений enum class?
А эту проблему можно отправить отдыхать, явным заданием подходящего underlying type. А если к тому же в качестве допустимых операций рассматриваются только сравнение и битовые операции, то переполнению и вовсе неоткуда взяться.