Я использую enumed scope для перечисления состояний в некоторой машине состояний, которую я реализую. Например, скажем что-то вроде:
enum class CatState
{
sleeping,
napping,
resting
};
В моем файле cpp, где я определяю таблицу перехода состояния, я хотел бы использовать что-то эквивалентное using namespace X, так что мне не нужно префикс всех моих имен состояний CatState::. Другими словами, я бы хотел использовать sleeping вместо CatState::sleeping. В моей таблице переходов есть несколько столбцов, поэтому избегать префикса CatState:: будет держать вещи более компактными и читаемыми.
Итак, есть ли способ избежать необходимости набирать CatState:: все время?
Да, да, я уже знаю о подводных камнях using namespace. Если есть эквивалент для строго типизированных перечислений, я обещаю использовать его только в ограниченной области действия в файле реализации cpp, а не для зла.