Если в С++ сделать
enum operation = {plus, minus, mult, div};
То перечисляемые константы буду иметь тип operation.
А если мне нужно, чтобы переменная operation была типа char, и могла принимать только значения {'+', '-', '*', '/'} ?
Есть ли в std/Qt/boost/другой библиотеке какой-либо контейнер, который позволяет делать что-то в духе:
Enumeration<char> operation = {'+', '-', '*', '/'};
Или необходимо писать велосипед самому? Может, что-то есть на эту тему из области шаблонов проектирования?
Upd:
Или, еще лучше, если перечисляемые значения могут быть разного типа. К примеру, при разборе строки с арифметическим выражением на токены, токен может быть типов Operator, Operand или Bracket. Как-то так:
Enumeration<Operator, Operand, Bracket> Token = {op, num, br};