У меня есть следующий перечислимый класс:
enum class MyEnum : int32_t
{
ENUM1 = EXTERNAL_CONSTANT1,
ENUM2 = EXTERNAL_CONSTANT2,
ENUM3 = EXTERNAL_CONSTANT3
};
"EXTERNAL_CONSTANTX" - это константа, предоставляемая из других мест (которые являются более или менее особыми кодовыми номерами).
Что я хочу сделатьдолжен иметь возможность сравнивать перечисления по приоритету, который указан в другом документе, например, ENUM3 имеет наивысший приоритет, ENUM2 имеет наименьший (он полностью не коррелирует со значениями EXTERNAL_CONSTANT).Насколько я проверял, C ++ не позволяет получить индекс определенного перечисления, поэтому я мог бы упорядочить их так, как должны применяться их приоритеты.Мой подход заключается в использовании вектора перечислений, в котором все они имеют определенный приоритетный порядок, но я думаю, что это не лучший расширяемый подход.
Есть ли лучший подход к описанной мной проблеме?Заранее спасибо