我有一个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。我可以从'J''A''C''K'创建一个mpl :: string。但是,然后我必须保持PNAME的mpl :: string版本与PNAME同步。这可能是有问题的。有什么建议吗?