Сравнение классов Enum, отличное от значения по умолчанию - PullRequest
0 голосов
/ 15 декабря 2018

У меня есть следующий перечислимый класс:

enum class MyEnum : int32_t
{
    ENUM1 = EXTERNAL_CONSTANT1,
    ENUM2 = EXTERNAL_CONSTANT2,
    ENUM3 = EXTERNAL_CONSTANT3
};

"EXTERNAL_CONSTANTX" - это константа, предоставляемая из других мест (которые являются более или менее особыми кодовыми номерами).

Что я хочу сделатьдолжен иметь возможность сравнивать перечисления по приоритету, который указан в другом документе, например, ENUM3 имеет наивысший приоритет, ENUM2 имеет наименьший (он полностью не коррелирует со значениями EXTERNAL_CONSTANT).Насколько я проверял, C ++ не позволяет получить индекс определенного перечисления, поэтому я мог бы упорядочить их так, как должны применяться их приоритеты.Мой подход заключается в использовании вектора перечислений, в котором все они имеют определенный приоритетный порядок, но я думаю, что это не лучший расширяемый подход.

Есть ли лучший подход к описанной мной проблеме?Заранее спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...