This is something that would be very interesting to me, but I wonder if the memory allocation can be factored out in the current boost library by using allocators or something. I'm not terrible familiar with the libraries internals, but I'd be willing to take a look at my next free cycle. To be clear, is there another state machine lib in boost besides boost.statechart? That's the only one I'm familiar with from a user perspective.
-Greg
Yes, custom allocator doesn't solve the problem, especially because current FSM-s includes many other libraries. In any case, I can't afford to use even custom allocator in my project, if I would use it, I must have sufficient size heap, it's risky in embedded system. I already have third-party code, that uses heap, and I couldn't do anything with it. :) Another FSM implementation - Boost.MSM(Meta state machine), I tried to use it in different ways, but i've failed. MSM based on MPL boost library. If you interested in code, I have small repo on github: https://github.com/arcolight/ecl, there are several small classes, one of them, in fsm.hpp - state machine. There are simple test with cd-player like in boost lib.