Я использую иерархический FSM для встроенного интерфейса приложения C ++. Я хотел бы использовать небольшие функции, чтобы определить, можно ли инициировать определенные события между состояниями, а также использовать их для внесения изменений в базу данных: однако создание нового класса с различными функциями событий для каждого состояния также утомительно. как установка указателей на них в качестве обратных вызовов. (мы говорим о 300 функциях здесь.)
Если бы C ++ поддерживал лямбда-функции, я бы использовал их, но у меня нет большого веса в архитектуре проекта, поэтому я неохотно использую сторонние решения, которые требуют интенсивной интеграции библиотек (например, boost) или включение дополнительных шагов препроцессора.
Есть идеи?