Brent Arias wrote:
Is it still the case that boost statecharts require allocation and destruction of a state object when entering and exiting that state? I'm curious, as I'm comparing boost statecharts with Samek's. Heinzmann provided some commentary on the differences:
http://www.state-machine.com/resources/Heinzmann04.pdf
Samek's QHSM implementation does not require allocations for entering and exiting states (specifically, QHSM states are not object instances, rather they are represented simply as a pointer to a member function).
Of course Heinzmann was also promoting his own personal implementation...which I don't think he ever finally published or made available for download.
You might want to take a look at Christophe Henry's meta state machine (msm) library recently added to the review queue. It's based on the lightweight state transition table approach from the Template Meta Programming book by Gurtevoy and Abrahams. The review-ready version can be found: - in the Vault: http://www.boostpro.com/vault/index.php?direction=0&order=&directory=Msm& - or better (in case of bugfixes), in the sandbox: https://svn.boost.org/svn/boost/sandbox/msm/ . You will find there the Review version under /tags/version-1.20, the most current version at the same level under /boost (or /libs for the doc). Jeff