
Phil Endecott wrote:
Martin Vuille wrote:
The formal review for Andrey Semashev's Finite State Machines (FSM) library begins today and will run until the 20th.
The documentation (overview and reference) is available online: http://boost-extension.redshoelace.com/docs/boost/fsm/doc/state_machine.html
http://boost-extension.redshoelace.com/docs/boost/fsm/doc/reference.html
I have a question about the lifetime of the state objects.
I have the impression that the state objects are created when then FSM is created and destroyed when it is destroyed. Is this correct?
That's right.
Thinking about my own FSM code, implemented ad-hoc, I have variables whose lifetime should correspond to the period spent in a particular state. (Or, more generally, the period spent in a hierarchical group of states.) It looks like I can get this only by using the enter/leave hooks and a pointer. Is this correct?
Yes, you can use enter/leave handlers. However, I would consider using boost::optional in order to avoid dynamic memory allocation.