
Hi, I think that the visitors and the flags ideas of the MSM are very generic and easy to use. So, great! But, there is a way to define multiple visitors for a single state (base)? I think that it is not possible because the visitors mechanism is based on a "simple/single typedef" and not on an "listed typedef"... isn't it? So, why the visitors are not like flags? I mean, why not to use an "accept_sig_list" instead of a single "accept_sig"? Why is not possible a code like the following: struct my_visitable_state { typedef mpl::vector< args<void, VisitorType1&>, args<void, VisitorType2&> > accept_sig_list; void accept(VisitorType1&) const {} void accept(VisitorType2&) const {} }; By the way... I think that the usage of boost::ref() is not propagated to the submachines...? I've found that when my state machine is also in a submachine, the visitor of the state machine is passed by reference, but the submachine is passed always by value... is this a bug? (just using a pointer solved my needs, so just to report...) Thanks, Albert