У меня есть следующий класс перечисления:
Код: Выделить всё
enum class SomeEnum
{
A = 1,
B = 2,
C = 2
};
Где некоторым перечислениям присвоено одно и то же значение (B, C). Несмотря на это, мне по-прежнему хотелось бы, чтобы каждое перечисление было уникальным, за исключением присвоенного ему значения. Итак, помимо использования значения перечисления для некоторых целей, я бы также хотел, чтобы перечисление (как уникальное имя) было добавлено в качестве ключа к карте и присвоено ему что-то еще, например добавьте его в std::map
Но это не сработает - я думаю, компаратор std::map видит SomeEnum::B и SomeEnum::C как один и тот же ключ (поскольку они оба имеют значение 2).
Существует ли карта, которая обладает этой особенностью уникальности, не выполняя сравнение ключей? Или как бы я поступил иначе?
Подробнее здесь:
https://stackoverflow.com/questions/793 ... duplicates