У меня есть Boost MSM, который принимает входящее событие с атрибутами.Я хочу иметь правила в таблице переходов MSM, чтобы иметь условия охраны для проверки атрибута события.
Например:
#define PNAME "JACK"
// in the transition table
sInit + eLNK[string_compare_(event_(name), PNAME) == Int<0>] = sFound
Приведенный выше код просто показывает то, что я хотел бы иметь.Тем не менее, я прочитал, что в boost MSM я могу использовать только boost :: mpl :: string.Это понятно, потому что это метапрограммирование.Я странствую, есть ли способ использовать PNAME в определении правила таблицы переходов.Я могу создать mpl :: string из 'J' 'A' 'C' 'K'.Однако затем я должен синхронизировать версию PNAME mpl :: string с PNAME.Это может быть проблематично.Есть предложения?