У меня есть enum
:
enum Rule
{
BIT_NONE,
BIT_ONE,
BIT_TWO = 1 << 1,
BIT_THREE = 1 << 2,
BIT_FOUR = 1 << 3
};
Теперь, как мне проверить, что конкретное значение int
принадлежит вышеуказанному enum
?Обратите внимание, что идея также состоит в том, чтобы разрешить любую комбинацию BIT_TWO
, BIT_THREE
и BIT_FOUR
, поэтому допустимыми значениями являются {0, 1, 2, 4, 6, 8, 10, 12, 14}
.
Если я проверю BIT_NONE <= val && val <= BIT_FOUR
, это не будетразрешить комбинации, как упомянуто выше, но также будет включать нежелательные {3, 5, 7}
.
Как я могу этого достичь?